总的来说就是这个程序的功能就是按一定的格式从文件中读取数据,然后把数据存入数组,最后把数组里的数据输出到屏幕。
我想从TXT文件中读取一行的数据并存入数组中,如我定义了六个数组
char a[10],b[10],c[10];
int d[10],e[10],f[10];
TXT文件中的格式是这样的:
a a a 1 1 1
b b b 2 2 2
c c c 3 3 3
d d d 4 4 4
e e e 5 5 5
i=0时,我想把第一行的6个数据存入数组
&a[i],&b[i],&c[i],&d[i],&e[i],&f[i]中,依此类推,
我希望当指针指向文件尾时能结束循环,但是问题来了,输出数组里的字符时并不像我想的那样,格式乱了,说明对应数组里存的并不是对应的数据?是不是fscanf那里写的不对?
好人一生平安
代码如下
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fp;
char a[10],b[10],c[10];
int d[10],e[10],f[10];
int i=0,j=1;
fp=fopen("wenjian.txt","r");
if(fp==NULL)
{
printf("无法打开文件!");
exit(0) ;
}
while(!feof(fp))
{
fscanf(fp,"%c %c %c %d %d %d",&a[i],&b[i],&c[i],&d[i],&e[i],&f[i]);
j++;
}
for(i=0;i<j;i++)
printf("%c\t%c\t%c\t%d\t%d\t%d\n",a[i],b[i],c[i],d[i],e[i],f[i]);
fclose(fp);
return 0;
}
我想从TXT文件中读取一行的数据并存入数组中,如我定义了六个数组
char a[10],b[10],c[10];
int d[10],e[10],f[10];
TXT文件中的格式是这样的:
a a a 1 1 1
b b b 2 2 2
c c c 3 3 3
d d d 4 4 4
e e e 5 5 5
i=0时,我想把第一行的6个数据存入数组
&a[i],&b[i],&c[i],&d[i],&e[i],&f[i]中,依此类推,
我希望当指针指向文件尾时能结束循环,但是问题来了,输出数组里的字符时并不像我想的那样,格式乱了,说明对应数组里存的并不是对应的数据?是不是fscanf那里写的不对?
好人一生平安
代码如下
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fp;
char a[10],b[10],c[10];
int d[10],e[10],f[10];
int i=0,j=1;
fp=fopen("wenjian.txt","r");
if(fp==NULL)
{
printf("无法打开文件!");
exit(0) ;
}
while(!feof(fp))
{
fscanf(fp,"%c %c %c %d %d %d",&a[i],&b[i],&c[i],&d[i],&e[i],&f[i]);
j++;
}
for(i=0;i<j;i++)
printf("%c\t%c\t%c\t%d\t%d\t%d\n",a[i],b[i],c[i],d[i],e[i],f[i]);
fclose(fp);
return 0;
}