C/C++中读取输入数据时的'\n'问题
2012-02-18 12:24
281 查看
在C中,使用scanf输入的数据实际是先将数据加载到stdin中,然后从stdin中将数据取出到scanf的地址中,但是实际的输入最后会有一个'\n',从stdin中取出数据时这个字符将会留在stdin中,如果此时我们继续使用scanf不会出现什么问题,但是使用支持空格的gets(),将会从stdin中取出最后一个'\n',gets()可能读取不到数据。
在C中有一个stdin stdout刷新的函数,貌似fflush()。使用这一函数清空stdin中的数据就可以了。
在C++中getline()相当于上文的gets(),它将从标准输入中取出字符,其中的'\n'也会替代你所需要的字符,可以在此函数之前加入cin.get()清除标准输入之中的数据。
在C中有一个stdin stdout刷新的函数,貌似fflush()。使用这一函数清空stdin中的数据就可以了。
在C++中getline()相当于上文的gets(),它将从标准输入中取出字符,其中的'\n'也会替代你所需要的字符,可以在此函数之前加入cin.get()清除标准输入之中的数据。
相关文章推荐
- 关于C++/C 输入一行整型数据,数量不定问题,如何读入
- C和C++中读取不定数量的输入数据
- 关于C++输入函数的读取问题
- C++用Edit Control时,读取输入的数据,和向里面写数据。主要是CSrting和十六进制(HEX)转换
- C/C++输入读取数据函数总结
- c++输入文件处理按行读取并且将实现对一行数据分别处理
- C++:读取数量不定的输入数据
- C/C++之类型输出,乘法表,古典问题,数据输入输出
- C++读取数量不定的输入数据
- c++读取文件及输入到文件的相关问题
- C++文件读取及输入问题
- C++ cin 多读取一个字节数据的问题
- c++ 读取数量不定的输入数据
- 关于C++读取数量不定的输入数据
- C++读取mysql中utf8mb4编码表数据乱码问题及UTF8转GBK编码
- C++入门基础篇学习手记: 读取数量不定的输入数据
- InputFormat的数据划分、Split调度、数据读取三个问题的浅析
- 从终端读取一行数据,fgets,gets,c++ string类定义的getline
- 读取文件数据的编程出现的问题
- C++输入多组数据的方法