【转载合集】string用法工具箱
string逆序:
string str;
cin<
string s(str.rbegin(),str.rend());
cout << s <
如果写成string s(str.end(),str.begin());会报错 "终端反馈超出了string的最大长度"
类型转换:string转vector
string str("iloveyou");
vector
ta.resize(str.size());
ta.assign(str.begin(),str.end());
再转回来
str.clear();
str.assign(ta.begin(),ta.end());
c++ 将一个char 转化为string
const char c = 'a';
//1.使用 string 的构造函数
string s(1,c);
//2.声明string 后将char push_back
string s1;
s1.push_back(c);
//3.使用stringstream
stringstream ss;
ss << c;
string str2 = ss.str();
//注意 使用to_string 方法会转化为char对应的ascii码
//原因是 to_string 没有接受char型参数的函数原型,有一个参数类型
//为int 的函数原型,所以传入char型字符 实际是先将char 转化
//为int 型的ascii 码,然后再转变为string
//以下输出结果为 97
cout << to_string(c) << endl;
C++中将string按照空白字符分割的新方法
使用stringstream对象简化类型转换
首先要引入头文件
注意,
一个实例
#include
#include
#include
#include
using namespace std;
int main(){
//用于存放分割后的字符串
vector
//待分割的字符串,含有很多空格
string word=" Hello, I want to learn C++! ";
//暂存从word中读取的字符串
string result;
//将字符串读到input中
stringstream input(word);
//依次输出到result中,并存入res中
while(input>>result)
res.push_back(result);
//输出res
for(int i=0;i cout< return 0; 总结 1. 2. 在C++ Primer书中曾经提到过: int main(){ string s; cin>>s; cout< return 0; This program begins by defining a string named s. The next line, cin>>s reads the standard input storing what is read into s. The string input operator: (1) Reads and discards any leading whitespace(e.g.,spaces,mewlines,tabs). (2) It then reads characters until the next whitespace character is encountered. 也就是说输入的字符串不管有多少空格,传入cin的只有第一个非空白字符下次再遇到空白字符之间的字符串。例如:输入的字符串为" Hello, I want to learn C++! ",则传入cin的只有"Hell0,"。这一点非常重要,必须牢记在心。 ———————————————— 版权声明:本文为CSDN博主「猫小时候」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/oNever_say_love/article/details/49123935