我们知道着两个函数都提供每次输入一行的功能。然而gets是一个不推荐使用的函数,其原因是使用gets不能指定缓冲区的长度,这样就可能造成缓冲区的溢出。除了gets只能操作标准输入(stdin)外,gets和fgets还有另一个区别——gets并不将换行符读入缓冲区中。例如:输入”abcde\n”,那么gets时缓冲区中只用”abcde”而没有”\n”。相反fgets则会完整的读入”abcde\n”...
分类:
其他好文 时间:
2014-05-14 14:19:45
阅读次数:
318
在C++中,各种输入方法还是不少的,而且各有所异,本文做一点简要总结,主要涉及如下内容:cin、cin.get()、cin.getline()、getline()、gets()、getchar()。
输入原理简述: 程序的输入都建有一个缓冲区,即输入缓冲区。每次输入过程是这样的,当一次键盘输入结束时...
分类:
编程语言 时间:
2014-05-12 04:10:30
阅读次数:
566
scanf: scanf("%c",..):可以读取空格、换行符、制表符等
scanf("%d",...):开始忽略空格、换行符、制表符,直到读取到一个字符
scanf("%s",...):开始读取时忽略空格、换行符、制表符,直到开始读取字符串,最后以空格、换行符、制表符结束,不丢弃任何字符g...
分类:
其他好文 时间:
2014-05-10 05:29:08
阅读次数:
261
学C++的时候,这几个输入函数弄的有点迷糊;这里做个小结,为了自己复习,也希望对后来者能有所帮助,如果有差错的地方还请各位多多指教(本文所有程序均通过VC
6.0运行)1、cin 2、cin.get() 3、cin.getline() 4、getline() 5、gets() 6、getchar()...
分类:
编程语言 时间:
2014-05-09 20:24:39
阅读次数:
357
最长公共子系列,简单的dp,不过注意有空格,所以,在读字符串的时候,尽量用gets读,这样基本没问题#include#include#include#includeusing
namespace std;int dp[1001][1001];int MAX(int x,int y){ if (...
分类:
其他好文 时间:
2014-05-04 11:34:41
阅读次数:
294
Keyboard inputPython provides a build-in
function called raw_input (in version 2.x) that gets input from the keyboard. In
Python 3.x we use input(). W...
分类:
其他好文 时间:
2014-05-01 19:23:26
阅读次数:
392
gets()不检查缓冲区空间,多出来的字符会覆盖堆栈原先的内容。
fgets()的第二个参数说明最大读入的字符数。如果这个参数值为n,那么fgets()就会读取最多n-1个字符或读完一个换行符为止。两个条件满足任意一个结束。
fgets()读取到换行符,就会把它存到字符串里,而不是想gets()那样丢弃它。
fgets()的第三个参数说明读哪个文件。从键盘上读数据时,可以使用stdin(代表...
分类:
其他好文 时间:
2014-04-29 13:17:22
阅读次数:
337