- getline(cin,s,’?’)
//输入get?line()
//输出get
//第三参数默认为 '\n'
#include<iostream>
#include<string>
using namespace std;
int main(){
string line;
getline(cin,line,'?');
cout<<line;
return 0;
}
- cin.getline(line,10,’?’)
//输入过程中达到num-1个数或者提前遇到f字符,输入结束
#include<iostream>
#include<string>
using namespace std;
int main(){
char line[100];
cin.getline(line,10,'?');
cout<<line;
return 0;
}
- int 转 string
//输出"1000"
#include <iostream>
#include <string>
#include <sstream>//使用stringstream
using namespace std;
int main()
{
stringstream ss;
string s;
int i = 1000;
ss << i;
ss >> s;
cout << s << endl;
return 0;
}
- string转int
string result = "10000";
int n = 0;
ss<< result;
ss >> n; //n等于10000
- 字符串切段
记得getchar()吞回车
ss.clear();//清空流
ss.str("");//清空流缓存
赋值s.str(“str”);
string s;
getline(cin,s); //输入字符串s,可带空格because of(getline);
stringstream ss(s); //定义一个字符串流ss,并用字符串s去初始化;
string res=" ", tmp;
while (ss>>tmp)
//ss>>tmp,从字符串流读出一个字符串到tmp中,tmp遇到*空格*停止。
//比如输入"xiao yang",此时tmp中为"xiao",第二次循环读出时为"yang".
{
if (res==" ")
res=tmp;
else
res=tmp+" "+res;
}
程序实现的功能为:
输入:boy a am i
输出:i am a boy