cin
会跳过数据前的空格,不会跳过数据后的空格. 要想不跳过空格,用cin.get()
/*输入为:
28
guyong
*/
int n;
string name;
cin>>n;
getline(cin,name); // name为空字符串
char c;
cin.get(c); // c 为空格
读入逗号隔开的字符串
string line,str;
getline(cin,line);
stringstream ss(line);
while(getline(ss,str',')){
//use str
}
重定向 cin, cout
ifstream fin("../../test/in.txt");
if(!fin){
cout<<"read file error"<<endl;
return 0;
}
cin.rdbuf(fin.rdbuf());
读入混合的整型和字符串
/*
input:
7 4 3sdj djsl 24 24jjkj
output:
7 4 24
3sdj djsl 24jjkj
*/
int main() {
vector<int> nums;
vector<string> strs;
int n;
string s;
while(cin>>s){
stringstream ss(s);
ss >> n;
if (ss.eof()){
nums.push_back(n);
}else{
strs.push_back(s);
}
}
for(auto i:nums){
cout<<i<<" "; //
}
cout<<endl;
for(auto s:strs){
cout<<s<<" ";
}
cout<<endl;
return 0;
}