您的位置:首页 > 编程语言 > C语言/C++

关于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个字符。回车会被保存在缓冲区,并且会被读取。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: