C++中字符串的相关函数及其使用

目录

1.字符串转整数--stoi()

2.字符串转整数--atoi()

3.数字转字符串--to_string()

 4.字符串截取--substr()

5.常用函数--size、length、append、find、replace、erase、insert


1.字符串转整数--stoi()

stoi()函数原型:

int stoi(const string& str, size_t* pos = 0, int base = 10);

其中,str是需要转换的字符(串),pos是一个指向size_t类型的指针,用于存储转换过程中第一个无法转换的字符的位置,base表示要转换的进制数,默认为10进制。

stoi()函数从字符串的开头开始读取数字字符,直到遇到第一个非数字字符为止,然后将读取到的数字字符转换为整数类型的数字。如果字符串的开头不是数字字符,则返回0.

例如:

结果都为:

如:

其结果为:

注意:如果字符串中包含非数字字符,stoi()函数会抛出invalid_argument异常

注意:如果转换后的结果超出了整数类型的范围,stoi()函数会抛出out of range异常。

2.字符串转整数--atoi()

int atoi(const char* str);

其中,str是需要转换的字符串,必须是以null结尾的字符串。

3.数字转字符串--to_string()

string to_string(int val);
string to_string(long val);
string to_string(long long val);
string to_string(unsigned val);
string to_string(unsigned long val);
string to_string(unsigned long long val);
string to_string(float val);
string to_string(double val);
string to_string(long double val);

其中,val是需要转换的数字。

 4.字符串截取--substr()

void solve(){
	/*函数原型:
	std::string substr (size_t pos, size_t len) const;
	pos是开始的位置,len是截取字符串的长度
	*/
    string s="1233456789111";
    cout<<s.substr(0,3);//从0位置开始,截取3个字符
}

5.常用函数--size、length、append、find、replace、erase、insert

void solve(){
	string str;
	string s="~~~abcdefg~~~";
	getline(cin,str);//读取一行
	cout<<"str.size---"<<str.size()<<endl;//字符串的长度
	cout<<"str.length---"<<str.length()<<endl;//字符串的长度
	cout<<"str.append(s)---"<<str.append("******Hello,C + + !******")<<endl;//追加字符串
	cout<<"str.find---"<<str.find("C + +")<<endl;//查找字串
	cout<<"operate+---"<<str+s<<endl;//连接两个字符串
	cout<<"replace(pos,n,s)---"<<str.replace(0,10,s)<<endl;//删除从pos开始的n个字符,然后在 pos 处插入串 s。
	cout<<"erase(pos,n)---"<<str.erase(0,10)<<endl;//删除从 pos 开始的 n 个字符。
	cout<<"append(s,pos,n)---"<<str.append(s,3,7)<<endl;//将字符串 s 中,从 pos 开始的 n 个字符连接到当前字符串结尾。
	cout<<"insert(pos,s)---"<<str.insert(0,"123")<<endl;//在 pos 位置插入字符串 s。
	
}

运行结果如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值