C/C++不同输入函数的区别

本文详细解析了C语言中的输入输出函数,包括scanf、gets、getchar和getch,以及C++中的CIN。重点介绍了它们的使用场景、区别和特点。例如,scanf在遇到空格时停止,而gets则读取整行直到遇到换行符。getch不显示输入并立即返回字符,而CIN则是C++中的流式输入,处理方式有所不同。了解这些函数的差异对于编写高效的输入处理代码至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

scanf

读到空格,制表符,回车为止,把缓存区的"\0"前的所有字符一次性读取。

gets

char *gets( char *buffer );

The line consists of all characters up to and including the first newline character ('\n'). gets then replaces the newline character with a null character ('\0') before returning the line. 

从流里读取一行,与scanf的区别是读一整行,空格也会读进,只有读到\n才停止,\n也会拿走。

终止后,对终止字符处理不同。
比如输入为"test\nabcd"。
执行gets后,\n不会留在缓冲区中,即这时调用getchar得到的字符是'a'。
执行scanf后,\n会留在缓冲区,这时调用getchar得到的字符是'\n'。

getchar

一次从缓存区拿一个字符。

getch

包含在头文件<conio.h>里。

getch从键盘接收一个字符并且不打印在屏幕上,不需要按下回车即可获取键盘输入,游戏函数常用。

问题:getch()和_getch()的区别?

CIN

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值