怎样把txt文件中数据以二维数组的形式读入C程序中,经过运算后再输出到新文件中?c语言的。最好是两函数

如题所述

void main()
{
char str[50][50] //先定义一个数组来装
void LoadFile(void) //这个函数是从XXX文件读入C程序中
{
int i;
FILE*fp;
fp=fopen("XXX.txt","rt");
if(fp==NULL)
{
printf("文件打开错误!");
return;
}
for(i=0;i<NUM;i++)
{
if (feof(fp))
break;

fscanf(fp,"%s",PersonInfo[i].Name); //读什么进去看你情况了

if (feof(fp))
break;
}

void SaveFile(void) //这个函数是写到新文件XX中
{
int i;
FILE *fp;
fp=fopen("XX","wt");
for(i=0;i<cnt;i++)
{
fprintf(fp,"%s",PersonInfo[i].Name) //写什么进去也看你自己需求了
}
fclose(fp);
}
}追问

void Datain1(void) /*读入91-92年数据*/
{
int i,j;
FILE *fp;
fp=fopen("91-92in.txt","r");
for(i=0;i<731;i++)
for(j=0;j<6;j++)
fscanf(fp,"%f\n",&INPUT1[i][j]);
fclose(fp);
}
我对C掌握得不多,这个程序为什么不行呢?

追答

把你的%f改为%d试试。

追问

不行,输出结果全都是0

追答

你这个读入的函数是没问题的,不知道你其他函数或着是文件里是有那些数据没。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-30
int fd;
char aa[100][1024];
fd = open("aa.txt",O_RDWR ,0666);打开文件
使用for或者while 循环逐行读取和写入
read(fd,aa[i],1024,);读出数据到二位数组中
进行运算;
write(fd,aa[i],1024);写入数据到二位数组中
close(fd);
相似回答