关于C++输入函数的读取问题

来源:互联网 发布:ivc电子目录软件 编辑:程序博客网 时间:2024/06/04 18:14

关于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个字符。回车会被保存在缓冲区,并且会被读取。

0 0
原创粉丝点击