请教一个问题,在VC中怎样将文本文件里的数据读入的结构体数组中!

2024-11-29 17:09:23
推荐回答(4个)
回答1:

采用重定向或fopen,
下面我说下重定向,
在程序开头加上
#define LOCAL
在主函数开头加上
#ifdef LOCAL
freopen("TXT.txt","r",stdin); //读取"TXT.txt文件,作为标准输入 stdin标准输入的意思 "r"是只读的意思,下面的w是只写的意思
freopen(".......","w",stdout); //输出至。。。文件,标准输出 stdout标准输出的意思
#endif
这个语句的意思其实就是你那个TXT中的文件当中标准打入到你的程序中,想到与你自己输了一遍这些文件,至于文件中怎么输入的则是要你自己去程序中体现出来的。我还是没看懂你要怎么输入

回答2:

你要把你的文本文件跟执行文件放在同一个文件夹,你在新建VC的时候记下该文件的存储路劲,然后把文本文件存在这个地方,你试一下看看。

回答3:

#include
#include
struct student
{
int num;
char name[100];//这是字符串
int E;
int M;
int P;
int Z;
int C;
}a[43];
void main()
{
FILE *p,*q;
if((p=fopen("D:\\book1.txt","r"))==NULL)
{
printf("Cannot open file strike any key exit!");
getch();
exit(0);
}
char temp[10000];
for(int i=0;i<43;i++)
{
fscanf(p,"%d%s%d%d%d%d%d",&a[i].num,a[i].name,&a[i].E,&a[i].M,&a[i].P,&a[i].Z,&a[i].C);
}//读的时候不要加豆号
fclose(p);
for(i=0;i<43;i++)
printf("%d %s %d %d %d %d %d\n",a[i].num,a[i].name,a[i].E,a[i].M,a[i].P,a[i].Z,a[i].C);
getch();
}
另外,站长团上有产品团购,便宜有保证

回答4:

#include
#include
struct student
{
int num;
char name[100];//这是字符串
int E;
int M;
int P;
int Z;
int C;
}a[43];
void main()
{
FILE *p,*q;
if((p=fopen("D:\\book1.txt","r"))==NULL)
{
printf("Cannot open file strike any key exit!");
getch();
exit(0);
}
char temp[10000];
for(int i=0;i<43;i++)
{
fscanf(p,"%d%s%d%d%d%d%d",&a[i].num,a[i].name,&a[i].E,&a[i].M,&a[i].P,&a[i].Z,&a[i].C);
}//读的时候不要加豆号
fclose(p);
for(i=0;i<43;i++)
printf("%d %s %d %d %d %d %d\n",a[i].num,a[i].name,a[i].E,a[i].M,a[i].P,a[i].Z,a[i].C);
getch();
}
另外,虚机团上产品团购,超级便宜