目录
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。
}
运行结果如下: