真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

c++string用法入門必看超詳細(xì)-創(chuàng)新互聯(lián)

1、string的作用

string就是字符串的意思,是c++用來代替char數(shù)組的數(shù)據(jù)結(jié)構(gòu)。里面封裝了一些常用的方法,方便我們地對(duì)其進(jìn)行一些操作,而且string的空間大小是動(dòng)態(tài)變化的,大大減小了不必要的花銷

創(chuàng)新互聯(lián)成都企業(yè)網(wǎng)站建設(shè)服務(wù),提供成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)網(wǎng)站開發(fā),網(wǎng)站定制,建網(wǎng)站,網(wǎng)站搭建,網(wǎng)站設(shè)計(jì),自適應(yīng)網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì)師打造企業(yè)風(fēng)格網(wǎng)站,提供周到的售前咨詢和貼心的售后服務(wù)。歡迎咨詢做網(wǎng)站需要多少錢:189820811082、string常用的輸入方法

(1)cin輸入,遇到空格停止輸入
代碼示例:

#include//c++標(biāo)準(zhǔn)頭文件,可以使用cout,cin等標(biāo)準(zhǔn)編譯用法
using namespace std;//命名空間,防止重名給程序帶來各種隱患,使用cin,cout,map,set,vector,queue時(shí)都要使用
int main(){string s1,s2;//定義字符串s1、s2 
	cin>>s1;//輸入一個(gè)字符串給s1 
	cin>>s2;//輸入一個(gè)字符串給s2 
	cout<<"s1得到的值是: "<

輸入:

hello world!

運(yùn)行結(jié)果:

s1得到的值是: hello
s2得到的值是: world!

(2)getline輸入,遇到換行符停止輸入
代碼示例:

#include//c++標(biāo)準(zhǔn)頭文件,可以使用cout,cin等標(biāo)準(zhǔn)編譯用法
using namespace std;//命名空間,防止重名給程序帶來各種隱患,使用cin,cout,map,set,vector,queue時(shí)都要使用
int main(){string s1,s2;//定義字符串s1、s2
	getline(cin,s1);//輸入一行字符串給s1 
	getline(cin,s2);//輸入一行字符串給s2 
	cout<<"s1得到的值是: "<

輸入:

hello world!
happy every day!

運(yùn)行結(jié)果:

s1得到的值是: hello world!
s2得到的值是: happy every day!

值得注意的是:
cin輸入會(huì)自動(dòng)吃點(diǎn)前置換行和空格,即cin輸入得到的不可能是空串。而getline不會(huì)吃掉換行符號(hào),可能會(huì)使得輸入出現(xiàn)意料之外的錯(cuò)誤。
示例代碼:

#include//c++標(biāo)準(zhǔn)頭文件,可以使用cout,cin等標(biāo)準(zhǔn)編譯用法
using namespace std;//命名空間,防止重名給程序帶來各種隱患,使用cin,cout,map,set,vector,queue時(shí)都要使用
int main(){string s1,s2,s3;//定義字符串s1、s2、s3
	cin>>s1; //輸入一個(gè)字符串給s1 
	getline(cin,s2);//輸入一行字符串給s2 
	getline(cin,s3);//輸入一行字符串給s3 
	cout<<"s1得到的值是: "<cout<<"s2是空串"<cout<<"s2得到的值是: "<

輸入:

hi!
hello world!

運(yùn)行結(jié)果:

s1得到的值是: hi!
s2是空串
s3得到的值是: hello world!

解決的辦法是多寫一個(gè)getline,或者getchar()來達(dá)到吃掉多余的換行符字符:
示例代碼:

#include//c++標(biāo)準(zhǔn)頭文件,可以使用cout,cin等標(biāo)準(zhǔn)編譯用法
using namespace std;//命名空間,防止重名給程序帶來各種隱患,使用cin,cout,map,set,vector,queue時(shí)都要使用
int main(){string s1,s2,s3;//定義字符串s1、s2、s3
	cin>>s1; //輸入一個(gè)字符串給s1 
	getline(cin,s2);//輸入一行字符串給s2 
	getline(cin,s3);//輸入一行字符串給s3 
	cout<<"s1得到的值是: "<cout<<"s2是空串"<cout<<"s2得到的值是: "<

輸入:

hi!
hello world!
happy every day!

運(yùn)行結(jié)果:

s1得到的值是: hi!
s2得到的值是: hello world!
s3得到的值是: happy every day!
3、string常用的成員函數(shù)
size()//獲取字符串長度
insert()//插入字符串
append()//插入字符串
erase()//刪除任意字符,時(shí)間復(fù)雜度O(n),n為字符串長度
substr()//截取字符字串
back()//獲取最后一個(gè)字符
pop_back()//刪除最后一個(gè)字符,時(shí)間復(fù)雜度O(1)
empty()//判斷是否為空
clear()//清空字符串

示例代碼:

#include//c++標(biāo)準(zhǔn)頭文件,可以使用cout,cin等標(biāo)準(zhǔn)編譯用法
using namespace std;//命名空間,防止重名給程序帶來各種隱患,使用cin,cout,map,set,vector,queue時(shí)都要使用
int main(){string s="a";//定義一個(gè)字符串并初始化 
	
	cout<<"string常用的三種插入方法:"<

運(yùn)行結(jié)果

string常用的三種插入方法:

1、+號(hào)
s+="b"后:s=ab

2、insert()
s.insert(2,"c")后:s=abc

3、append
s.append("d")后:s=abcd

查看字符串大小
s.size()=4

截取字符串
s.substr(1,2)=bc

刪除特定字符
s.erase(0,2)后: s=cd

刪除最后一個(gè)字符
s.pop_back()后:s=c

兩種判斷字符串是否為空的方法
1、s.empty()等于1時(shí)即為空,等于0時(shí)非空
2、用s==判斷,等于1時(shí)即為空,等于0時(shí)非空
s.empty() = 0
(s=="") = 0

兩種清空字符串方法
1、s.clear()
2、s=""

清空后
s.empty() = 1
(s=="") = 1
4、string的大小比較

string的比較是以逐個(gè)字母的ascii碼進(jìn)行比較的
示例代碼:

#include//c++標(biāo)準(zhǔn)頭文件,可以使用cout,cin等標(biāo)準(zhǔn)編譯用法
using namespace std;//命名空間,防止重名給程序帶來各種隱患,使用cin,cout,map,set,vector,queue時(shí)都要使用
int main(){string s1="abc";
	string s2="acb";
//	先比較a和a,相等時(shí)再比較b和c,明顯bs2){cout<"<cout<cout<s2){cout<"<cout<cout<s2){cout<"<cout<cout<

運(yùn)行結(jié)果:

abcbb
bbc>bbbc

5、string的遍歷方法
(1)下標(biāo)遍歷:通過下標(biāo)隨機(jī)訪問逐個(gè)遍歷。
示例代碼:

#include//c++標(biāo)準(zhǔn)頭文件,可以使用cout,cin等標(biāo)準(zhǔn)編譯用法
using namespace std;//命名空間,防止重名給程序帶來各種隱患,使用cin,cout,map,set,vector,queue時(shí)都要使用
int main(){string s="abcdefg";
	for(int i=0;icout<

運(yùn)行結(jié)果:

abcdefg

如果想逆序遍歷呢?只需要逆向思考,從s.size()-1到0遍歷即可
示例代碼:

#include//c++標(biāo)準(zhǔn)頭文件,可以使用cout,cin等標(biāo)準(zhǔn)編譯用法
using namespace std;//命名空間,防止重名給程序帶來各種隱患,使用cin,cout,map,set,vector,queue時(shí)都要使用
int main(){string s="abcdefg";
	for(int i=s.size()-1;i>=0;i--){cout<

運(yùn)行結(jié)果:

gfedcba

(2)foreach遍歷
示例代碼:

#include//c++標(biāo)準(zhǔn)頭文件,可以使用cout,cin等標(biāo)準(zhǔn)編譯用法
using namespace std;//命名空間,防止重名給程序帶來各種隱患,使用cin,cout,map,set,vector,queue時(shí)都要使用
int main(){string s="abcdefg";
	for(char c:s){cout<

運(yùn)行結(jié)果:

abcdefg

foreach遍歷方法在結(jié)構(gòu)體的遍歷中比較常用,因?yàn)槠浜唵我讓懀怯幸粋€(gè)弊端就是不能逆序遍歷。

是不是很簡單呢?

剛接觸肯定會(huì)覺得難,多些做題多些用,熟悉了就容易了,兄弟萌,加油!??!

文章尚有不足,歡迎大牛們指正

感謝觀看,點(diǎn)個(gè)贊吧

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧


文章標(biāo)題:c++string用法入門必看超詳細(xì)-創(chuàng)新互聯(lián)
文章轉(zhuǎn)載:http://weahome.cn/article/djodci.html

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部