gpt4 book ai didi

c - fflush(stdin) 在 C 编程中做什么?

转载 作者:太空狗 更新时间:2023-10-29 16:28:17 25 4
gpt4 key购买 nike

<分区>

我是 C 编程的新手,我想了解 fflush(stdin) 的真正工作原理。

在下面的示例中,fflush(stdin) 是清除所有缓冲区还是清除第三项之后输入的内容?我的意思是用户输入帐号,空间,名称,空间,余额。从现在开始,无论用户输入什么,都将被 fflush(stdin) 刷新,这是真的吗? stdin 不会为空。

为什么这么说是因为它进入了一个while循环,开始写入文本文件。

我的第二个问题是 Ctrl-Z 是否会告诉操作系统停止要求用户输入?

printf( "Enter the account name and balance. (separated by spaces)\n" );
printf( "Enter EOF to end input. (Ctrl-Z)\n" );
printf( "? " );
scanf( "%d%s%lf", &account, name, &balance );
fflush(stdin);

// write account, name and balance into file with fprintf
while ( !feof( stdin ) )
{
//fflush(stdin);
fprintf( cfPtr, "%d %s %.2f\n", account, name, balance );
printf( "? " );
scanf( "%d%s%lf", &account, name, &balance );
}

fclose( cfPtr );

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com