相关疑难解决方法(0)

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

我是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 …
Run Code Online (Sandbox Code Playgroud)

c operating-system signals

19
推荐指数
2
解决办法
8万
查看次数

标签 统计

c ×1

operating-system ×1

signals ×1