一个小问题!!(关于文件写入的问题)

oicqliuyong 2006-12-24 10:15:23
写了一个把屏幕上输入的内容写入到文本里面的程序,本来输入Ctrl + z及EOF就可以结束输入的,但是不行,不知道为什么。请指教。
#include <stdio.h>
int main (void)
{
int account;
char name[30];
FILE *a;
if ((a = fopen ("liuyong.text","w")) == NULL)
{
printf ("请输入的文件名不存在。\n");
exit;
}
else
{
printf ("请依次输入帐号、姓名:\n");
printf ("输入完成后,请用Ctrl + z组合键来结束输入!\n");
scanf ("%i%s",&account,name);
while (!feof(a))
{
fprintf (a,"%i%s\n",account,name);
scanf ("%i%s",&account,name);
}
fclose (a);
}
return 0;
}
...全文
106 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
fosjos 2006-12-24
  • 打赏
  • 举报
回复
while (scanf ("%i%s",&account,name)==2){
...
}
kookworm 2006-12-24
  • 打赏
  • 举报
回复
你可以用bioskey函数来检测从键盘输入的是否为ctrl+z
kookworm 2006-12-24
  • 打赏
  • 举报
回复
你用feof来结束循环是不行的,因为那是文件结束标志,只有当你对文件进行操作时才可以用来进行判断,但现在你是要捕捉键盘输入,所以是不可以的。

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧