一行单个数据
string str;
cin>>str;
一行固定多个且空格隔开
int n, m;
cin >> n >> m;
在输入时,会自动做格式装换。
一行不固定多个且空格隔开
#include <sstream>
#include <string>
string str;
getline(cin, str);
stringstream ss(str);
string token;
while (ss >> token) {
cout << token << endl;
}
一行不固定多个且指定符号隔开
#include <sstream>
#include <string>
string str;
// 第三个参数就是指定的字符
getline(cin, str, '/');
stringstream ss(str);
string token;
while (ss >> token) {
cout << token << endl;
}
特殊格式化
#include <sstream>
#include <string>
using namespace std;
int main() {
string inputString("123abc 123.4one two three four");
stringstream ss(inputString);
string s;
int i;
double d;
ss >> i >> s >> d;
cout << i << " " << s.c_str() << " " << d ;
cout << endl;
while (ss >> s)
cout << s << " ";
cout << endl;
return 0;
}
执行效果