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

浙公网安备 33010602011771号