大家帮帮忙!谢谢!
读数据的方式要与数据存储的格式一致,如果文件的内容的存储方式不同,需要用相应的格式。
例如,下面读文件与写文件的格式相同。
void read()//从文件1.txt读出数据
{
FILE *fp;
int i,n,a[100];
if((fp=fopen("1.txt","rt"))==NULL)
{
printf("cannot open file\n");
return;
}
fscanf(fp,"%d\n",&n);
for(i=0;i<n;i++)
fscanf(fp,"%d\n",&a[i]);
fclose(fp);
for(i=0;i<n;i++)
printf("%4d",a[i]);
}
void write() //保存数据到文件1.txt
{
FILE *fp;
int i,n,a[100];
if((fp=fopen("1.txt","wt"))==NULL)
{
printf("cannot open file\n");
return;
}
fprintf(fp,"%d\n",n);//保存数组元素个数
for(i=0;i<n;i++)
fprintf(fp,"%d\n",a[i]);//保存每个数组元素,占一行
fclose(fp);
}
例如,下面读文件与写文件的格式相同。
void read()//从文件1.txt读出数据
{
FILE *fp;
int i,n,a[100];
if((fp=fopen("1.txt","rt"))==NULL)
{
printf("cannot open file\n");
return;
}
fscanf(fp,"%d\n",&n);
for(i=0;i<n;i++)
fscanf(fp,"%d\n",&a[i]);
fclose(fp);
for(i=0;i<n;i++)
printf("%4d",a[i]);
}
void write() //保存数据到文件1.txt
{
FILE *fp;
int i,n,a[100];
if((fp=fopen("1.txt","wt"))==NULL)
{
printf("cannot open file\n");
return;
}
fprintf(fp,"%d\n",n);//保存数组元素个数
for(i=0;i<n;i++)
fprintf(fp,"%d\n",a[i]);//保存每个数组元素,占一行
fclose(fp);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2015-09-11
先读取文件fread 在把读取的内容显示出来printf
第2个回答 2011-07-12
先读取文件fread 在把读取的内容显示出来printf追问
能不能把格式写一下?谢谢!
追答函数原型: size_t fread( void *buffer, size_t size, size_t count, FILE *stream );
具体请看: