关于C++输入函数的读取问题
2017-04-18 22:50
399 查看
关于C++输入函数的读取问题
一,读取单个字符的函数
1,getchar()
该函数从stdio流中读字符,相当于getc(stdin),它从标准输入里读取下一个字符。返回类型为int型,返回值为用户输入的ASCⅡ码,出错返回-1。
调用该函数后,首先先输入内容,再键入回车,这时候回车键也会保存在缓冲区中(‘\n’),紧接着函数会一直读取内容,直到缓冲区中没有东西为止。即回车也会被读取。
2,fgetc(fin)
与getchar类似,将缓冲区中的内容读完为止,回车也会被读取。
二,读取一行字符的函数
1,cin
用法不必多说,需要注意的是它碰到回车或者空格就会停止,并且回车不会被保存在缓冲区。
2,fgets(buf,maxn,stdin)
用法不必多说,需要注意的是它能读取完整的一行,不会因为碰到空格而停止,回车会被保存在缓冲区,并且会被读取。
字符串超长,fgets读了maxn-1个字符还没有读到’\n’,就把已经读到的maxn-1个字符和一个’\0’字符存入字符数组,剩下的字符可以在下次调用fgets时继续读。
3,gets_s()
该函数有具体的限制,即输入字符不能超过数组的长度-1。例如开char a[5], 则只能输入4个字符。回车会被保存在缓冲区,并且会被读取。
一,读取单个字符的函数
1,getchar()
该函数从stdio流中读字符,相当于getc(stdin),它从标准输入里读取下一个字符。返回类型为int型,返回值为用户输入的ASCⅡ码,出错返回-1。
调用该函数后,首先先输入内容,再键入回车,这时候回车键也会保存在缓冲区中(‘\n’),紧接着函数会一直读取内容,直到缓冲区中没有东西为止。即回车也会被读取。
2,fgetc(fin)
与getchar类似,将缓冲区中的内容读完为止,回车也会被读取。
二,读取一行字符的函数
1,cin
用法不必多说,需要注意的是它碰到回车或者空格就会停止,并且回车不会被保存在缓冲区。
2,fgets(buf,maxn,stdin)
用法不必多说,需要注意的是它能读取完整的一行,不会因为碰到空格而停止,回车会被保存在缓冲区,并且会被读取。
字符串超长,fgets读了maxn-1个字符还没有读到’\n’,就把已经读到的maxn-1个字符和一个’\0’字符存入字符数组,剩下的字符可以在下次调用fgets时继续读。
3,gets_s()
该函数有具体的限制,即输入字符不能超过数组的长度-1。例如开char a[5], 则只能输入4个字符。回车会被保存在缓冲区,并且会被读取。
相关文章推荐
- C++中关于get()和getline()函数读取行的问题
- C++里关于函数fun的小问题
- C++笔试题 关于函数析构函数未调用的问题
- 关于C++当中的函数作为另一个函数的参数之小问题
- 文件输入中的good()函数读取不到最后一个字符的问题
- 关于C语言使用输入函数后键盘缓冲区还有多余字符没的问题
- C++中关于二维数组作为函数参数传递的问题
- 关于C++中open打开文件函数的诡异的问题
- 关于数组与字符串输入的问题-C++版 推荐
- C++文件读取及输入问题
- 关于c++中字符串的输入问题
- 关于C++中posix pthread线程函数在类中封装的问题
- C/C++中读取输入数据时的'\n'问题
- C++中关于string的一些函数的问题
- 关于c++ 函数指针的问题
- 关于C++中posix pthread线程函数在类中封装的问题
- C++关于参数为const引用类型的函数调用参数成员函数的一个问题
- 关于C/C++: 在函数外存取局部变量问题( 精辟 )
- 关于C++中的函数返回局部string的问题
- 关于C++中输入操作符(>>)返回输入流对象的的问题