1. cin
string s;
while(cin >> s){}
//可以一直执行
2. scanf
定义:
string s;
s.resize(); //设置长度
输入
scanf("%s",&s[0]);
输出
printf("%s\n",s.c_str()); //输出有效字符
cout << s << endl; //剩余字符用空格补齐
while(~scanf())的判断
- 机器数为补码表示
- ~ 按位取反
- scanf() 返回正确读取到的个数,读取错误返回-1
- -1的补码为全1,取反后就全0,退出循环
- ~scanf() == (scanf() != EOF)