gets函数一次只可读取一个字符

gets函数一次只可读取一个字符

首页维修大全综合更新时间:2023-06-28 23:33:14

gets函数一次只可读取一个字符

C语言中getchar()是带缓存输入函数,且执行一次getchar()函数,只能读到一个字符。但,用户却可以一次输入n多个字符,这些字符会先存储到输入缓存中,在用户输入回车后,getchar()才去缓存中读取数据。

如果此时(回车后),只是进行一次getchar()读入,则只能得到第一个输入字符,如果没有后续的读入操作,则滞留在缓存中的数据会在程序结束时被丢弃。

如果代码中,是循环进行getchar()读入,则会依次读到所有的字符,直到循环条件结束。如:

以下测试程序,供编程爱好者研究:

#include <windows.h>

#include <stdio.h>

void main(void)

{

char ch;

while( (ch=getchar())!=' ' ) //输入字符,直到回车结束(测试人员可在输入几个字符后,停几秒,再按回车,就可以验证”回车后才读取缓存“这句话了。)

{

printf("your input: %c, sleep 1s ", ch );

Sleep(1000); //暂停1秒

}

}

大家还看了
也许喜欢
更多栏目

© 2021 3dmxku.com,All Rights Reserved.