一、将flower,flow,flight字符串存放进一个vector<string>中:
vector<string> v;
string s;getline(cin,s);
string tmp;
for(int k=0;k<s.size();){
if(s[k]==','||k==s.size()-1){
v.push_back(tmp);
k++;
tmp.clear();
}
tmp.push_back(s[k]);
k++;
}
首先将整体字符串用getline读入s中,创建临时string tmp;循环遍历字符串,遇到逗号或者循环索引到达字符串最后一位,那么将tmp中的string装入v中,同时清零tmp。k++分开书写的目的是调过‘,’字符,直接push_back下一个字符。
二、读入两行未知大小的数字,并存入数组中
主要涉及stringstream的使用,用getline作为字符串读入,然后传入stringstram,随后通过临时变量和循环遍历,push_back进ans里面
string s;getline(cin,s);
stringstream ss;ss<<s;
int tmp;vector<int> ans;
while(ss>>tmp){
ans.push_back(tmp);
}
三、stringstream
整型转换为字符串类型
string NumberToString(int num)
{
stringstream ss;
ss<<num; //像流中传值
string result;
ss>>result; //将流中的值写入到result
return result;
}
字符串类型转换为整型
int StringToNumber(string strNum)
{
stringstream ss;
ss<<strNum;
int result;
ss>>result;
return result;
}