从文本文件读数据,help
如何直接从文本文件读数据,然后输出呀
我c语言才差了,想不出来了
比如data.txt中:
1 赵 2000
2 李 2300
3 周 2100
然后还按照这样的格式全部输出在控制台下
void print()
{
FILE *fp;
int i;
printf( "\t报表打印\n ");
fp=fopen( "data.txt ", "r ");
rewind(fp);
q=&ren[i];
while(!feof(fp))
{
//for(i=0;i <s;i++)
//{
fscanf(fp, "%d\t%s\t%d\n ",ren[i].num,ren[i].name,ren[i].pay);
printf( "%d\t%s\t%d\n ",ren[i].num,ren[i].name,ren[i].pay);
++;
//}
}
}
[解决办法]
首先注意 fscanf使用中 缺少 & 预算符
[解决办法]
fscanf(fp, "%d\t%s\t%d\n ",ren[i].num,ren[i].name,ren[i].pay);
==》
fscanf(fp, "%d %2s%d ",ren[i].num,ren[i].name,ren[i].pay);
不要带上格式控制符号 ~
%s 注意长度控制 ~
[解决办法]
fscanf(fp, "%d %2s%d ",&ren[i].num, ren[i].name, &ren[i].pay);
[解决办法]
#include <stdio.h>
#include <stdlib.h>
struct test
{
int num;
char name[4];
int pay;
}ren[4];
int main()
{
FILE *fp;
int i=0;
printf( "\t报表打印\n ");
fp=fopen( "test.txt ", "r ");
while(!feof(fp))
{
fscanf(fp, "%d%2s%d ",&ren[i].num, ren[i].name, &ren[i].pay);
printf( "%d\t%s\t%d\n ",ren[i].num,ren[i].name,ren[i].pay);
i++;
}
system( "pause ");
return 0;
}
/*
test.txt 文件内容:
1 赵 2000
2 李 2300
3 周 2100
*/