程序如下:
#include<stdio.h>
int main(int argc,char*argv[])
{
int account;
char name[30];
float balance;
FILE* cfPtr;
if((cfPtr=fopen("clients.dat","w"))==NULL)
printf("File open error\n");
else
{
printf("Enter a account,name and balance.\n");
printf("Enter EOF marker to end input\n");
printf("?");
scanf("%d%s%f",&account,name,&balance);
while(!feof(stdin))
{
fprintf(cfPtr,"%d\t%s\t%f.2\n",account,name,balance);
printf("?");
scanf("%d%s%f",&account,name,&balance);
}
fclose(cfPtr);
}
return 0;
}
执行的时候可以接收键盘的输入,也创建了clients。dat文件,但是clients。dat文件时空的,数据没有写进去。
哪位大虾指导下,感激不尽。
[问题]c的顺序文件处理的问题。
- leran0222
- 帖子: 105
- 注册时间: 2007-05-12 0:13
-
- 帖子: 3182
- 注册时间: 2006-03-10 15:10
- 来自: xi'an China
- 联系:
Re: [问题]c的顺序文件处理的问题。
为什么要用这种语句while(!feof(stdin)) ?leran0222 写了:程序如下:
#include<stdio.h>
int main(int argc,char*argv[])
{
int account;
char name[30];
float balance;
FILE* cfPtr;
if((cfPtr=fopen("clients.dat","w"))==NULL)
printf("File open error\n");
else
{
printf("Enter a account,name and balance.\n");
printf("Enter EOF marker to end input\n");
printf("?");
scanf("%d%s%f",&account,name,&balance);
while(!feof(stdin))
{
fprintf(cfPtr,"%d\t%s\t%f.2\n",account,name,balance);
printf("?");
scanf("%d%s%f",&account,name,&balance);
}
fclose(cfPtr);
}
return 0;
}
执行的时候可以接收键盘的输入,也创建了clients。dat文件,但是clients。dat文件时空的,数据没有写进去。
哪位大虾指导下,感激不尽。
如果非要这么用的话,结束程序的时候要用 Ctrl+D, 不要用 Ctrl+C