一般用gets(),就能实现读带空格的,但有时候,不知道为啥,用gets会莫名出错。
这里来说说cin.get{};(c++的题居然考的这);如;读取
Tom Hanks&18&7817&80&80&90&70
#include<bits/stdc++.h> using namespace std; int main(){ char a[30]; cin.get(a,20,'&'); //这里我规定最多读取20个,或者读到'&'结束。 //这20个里面最后是个'\n',所以说只能看见19个。 cout<<endl; //方便观察,输入输出之间空一行。 cout<<a<<endl; return 0; }
这里的20,是限制读取的字符串的总长度;下面输入了21个字符(加上回车).
只有自读达到20以上,直接截取20,或者遇见‘&’,用来截取。(‘&’之前的回车也会被读入)