综述:
字符串或字符的输入有好多个函数,scanf、getline()、cin.getline()、cin.get()、gets()、getchar()等
如果输入是不带空格的字符串,那用什么都可以了,建议用scanf或cin如果输入带空格,那scanf、cin就用不了了,可以考虑以下方法:
如果想用string类型的话,就用getline(cin, s)如果想用字符数组类型的话,可以用**cin.getline()、cin.get()、gets(),**这里不是特别建议用gets(),因为这个函数可能会出点奇怪的问题,也不建议用cin.get(), 因为这个函数既不能忽略缓冲区的换行符,还不能在输入后抹掉自己的结束符,建议使用cin.getline() 如果输入的时候是单个字符,或者只想要字符串的第一个字符,就可以用getchar()、cin.get()
cin和cin.get都会将结束符或换行符留在缓冲区,而除cin外的函数都不能忽略缓冲区的结束符,所以如果用了cin,再用他们的时候记得加上getchar
scanf
scanf用于字符串数组,遇到空格或换行就停止
char str[10];
scanf("%s", str);
cout
cout |