下面的好像不太对,我以后改。
gets(str)在cstdio中,gets遇到空格不会停止,只有遇到换行符才会停止,它的参数必须是char型数组,不能是string型。
getline (char* s, streamsize n, char delim );geline在缓冲区中读取指定个数的字符或者读到某个停止符后结束读取,将读取到的字符输入到字符数组或string类中,并且自动添加'\0'。它在iostream中,s指的是被操作的字符数组数组或string类,n指的是从缓冲区中读取多少个字符后停止,delim指的是缓冲区中读到哪个字符就停止读取(不会将那个停止符号读进去)。此外,如果省略delim,写成getline (char* s, streamsize n)这种形式。那么getline自动将delim默认为换行符。还有一种在string中的getline,这里就不研究了。
gets,getline的好处相较于cin就是,可以读取空格。
gets函数在cstdio库中使用,不考虑空格,只由换行符终止读取。getline在iostream中,可读取到指定字符数或特定分隔符,并能处理空格。getline还有针对string的版本。两者对比,gets和getline在处理包含空格的输入时有差异。
6453

被折叠的 条评论
为什么被折叠?



