主题:[讨论]c语言怎么多个文件读写,求改进代码,(绝对可看懂!)
现有一个E盘下的文件aa1.txt,里面数据如下:
num english math
1 78 90
2 80 76
3 90 80
4 65 87
想在其基础上创一个bb1.txt文件,里面数据如下:
num grade english math avg(平均分)
1 1 78 90
2 1 80 76
3 1 90 80
4 1 65 87
这个可以实现。
但如何实现多个这样的文件的读写呢?例如我有aa1.txt,aa2.txt的文件要分别变为bb1.txt,bb2.txt的文件。
aa1.txt变为bb1.txt,我有个单文件读写代码如下:
{
FILE*inp;
FILE*out;
inp=fopen("e:\\aa1.txt","rt");
out=fopen("e:\\bb1.txt","wt");
char str[256];
int num,english,math,grade;
float avg;
fgets(str,256,inp);
fprintf(out,"num\t enlish\t math\n");
while(!feof(inp))
{
fscanf(inp,"%d%d%d\n",&num,&english,&math);
avg=(enlish+math)/2;
fprintf(out,"%d%d%d%d%f\n",num,grade,english,math,avg);
}
fclose(inp);
fclose(out);
system("pause");
}
num english math
1 78 90
2 80 76
3 90 80
4 65 87
想在其基础上创一个bb1.txt文件,里面数据如下:
num grade english math avg(平均分)
1 1 78 90
2 1 80 76
3 1 90 80
4 1 65 87
这个可以实现。
但如何实现多个这样的文件的读写呢?例如我有aa1.txt,aa2.txt的文件要分别变为bb1.txt,bb2.txt的文件。
aa1.txt变为bb1.txt,我有个单文件读写代码如下:
{
FILE*inp;
FILE*out;
inp=fopen("e:\\aa1.txt","rt");
out=fopen("e:\\bb1.txt","wt");
char str[256];
int num,english,math,grade;
float avg;
fgets(str,256,inp);
fprintf(out,"num\t enlish\t math\n");
while(!feof(inp))
{
fscanf(inp,"%d%d%d\n",&num,&english,&math);
avg=(enlish+math)/2;
fprintf(out,"%d%d%d%d%f\n",num,grade,english,math,avg);
}
fclose(inp);
fclose(out);
system("pause");
}