Bootstrap

c和c++中输入字符串的基础方式

1.scanf和cin

这两种输入以空格、tab或换行作为分隔符。

 

从缓冲区中读取数据时,若缓冲区中第一个字符是空格、tab或换行这些分隔符时,会将其忽略并清除,继续读取下一个字符。但是如果读取成功,字符后面的分隔符是残留在缓冲区的,不做处理。

当输入的字符串有空格时,就会以空格作分隔符结束,只读取了前半段,这两种输入方式使用就不方便了。

2.gets()和getline()

这两种可以接收有空格的字符串

但若缓冲区第一个字符是空格,换行不会清除

需要清除缓冲区的回车

 c可以使用  getchar()

 c++可以使用 cin>>ws或cin.sync()

 

;