getline
int main()
{
// gets(s1);
// getchar();
//gets(s2);
string s;
getline(cin,s); //只能读string,不能读char
// 可以读空格
//scanf("%[^
]",s1);
// scanf("%[^
]",s2);
cout<<s<<endl;
return 0;
}
cin
无法读空格
scanf
char s[110];
scanf("%s",s);
另外一个不能在cb里面正常运行(但是我在一个字符串A-B题目里用这个就部分数据错误,读入改成getline()就过了,不知道为什么?!)
scanf("%[^
]",str);
gets
- 可以读空格,但是需要getchar()去吸收回车,否则会出错。(getchar()用在哪里我忘记了,试了一下没发现,之后遇到补)
- 天梯赛不能使用
- 读取直到换行符结束,但换行符会被丢弃,然后在末尾添加' '