![]() |
#2
纯蓝之刃2020-02-08 19:33
printf("%d\n",line); fclose(fp); 你一个的文件的时候最好加上这个关闭文件的操作,这样下次使用的时候就会从头打开文件。 ![]() #include <stdio.h> int main(int argc, char** argv) { int i,line,flag,b=0,c=100000; double a,d; char ch,filename[1000]={0},data[1000]={0}; FILE *fp=NULL; FILE *fpp=NULL; for(b=0,c=100000; b<3; b++,c++) { sprintf(filename,"F:\\data\\C3energy%05d.txt",b); printf("%s\n",filename); fp=fopen(filename,"r"); for(i=0,line=0;; i++) { ch=fgetc(fp); if(ch=='\n') line+=1; if(ch==EOF) break; } printf("%d\n",line); fclose(fp); //关闭文件 //循环,读取多个文件数据并写入新的文件 fp=fopen(filename,"r"); for(flag=0; flag<5;) //skip the first five line { ch=fgetc(fp); if (ch=='\n') { flag+=1; } } line=line-5; sprintf(data,"F:\\data\\data%05d.txt",c); fpp=fopen(data,"w"); printf("%s\n",data); if(fpp==NULL) printf("the file don't exist."); while (fscanf(fp,"%lf %lf",&a,&d)==2) { //fpp=fopen(data,"w"); printf("%e \n",a); fprintf(fpp,"%e \n",a); } fclose(fp); fclose(fpp); } return 0; } for(c=100000;c<100854;c++) { sprintf(data,"G:\\uz\\new\\data%d.txt",c); fpp=fopen(data,"w"); } 你的这个里相当于把最后一个data文件打开的指针赋给fpp,也就是相当于循环的前面没有任何意义,只有最后一次有用,下面相同的问题 fp=fopen("filename","r"); filename不要使用""。 |


这是文件一对一写入的代码
#include <iostream>
int main(int argc, char** argv)
{
int i,line,flag;
double a,b;
char ch;
FILE *fp=fopen("G:\\uz\\uz\\C3energy00000.txt","r");
FILE *fpp=fopen("G:\\CCC\\z.txt","w");
if(fp==NULL)
printf("the file don't exist.");
for(i=1,line=1;;i++)
{
ch=fgetc(fp);
if(ch=='\n')
line+=1;
if(ch==EOF)
break;
}
printf("%d\n",line);
fp=fopen("G:\\uz\\uz\\C3energy00000.txt","r");
for(flag=0;flag<5;)//skip the first five line
{
ch=fgetc(fp);
if (ch=='\n')
{
flag+=1;
}
}
line=line-5;
while (fscanf(fp,"%lf %lf",&a,&b)==2)
{
//a=a*1000000;
fprintf(fpp,"%e \n",a*100000);
printf("%e \n",a);
}
fclose(fp);
fclose(fpp);
return 0;
}
这是多个一对一写入的代码
#include <iostream>
int main(int argc, char** argv)
{
int i,line,flag,b=100000,c=100000;
double a;
char ch,filename[1000],data[1000];
FILE *fp;
FILE *fpp;
//creat new file
for(c=100000;c<100854;c++)
{
sprintf(data,"G:\\uz\\new\\data%d.txt",c);
fpp=fopen(data,"w");
}
if(fpp==NULL)
printf("error\n");
//循环,读取多个文件数据行数
for(b=100000;b<100854;b++)
{
sprintf(filename,"G:\\uz\\uz2\\C3energy%d.txt",b);
fp=fopen(filename,"r");
for(i=0,line=0;;i++)
{
ch=fgetc(fp);
if(ch=='\n')
line+=1;
if(ch==EOF)
break;
}
}
//循环,读取多个文件数据并写入新的文件
for(b=100000;b<100854;b++)
{
fp=fopen("filename","r");
for(flag=0;flag<5;)//skip the first five line
{
ch=fgetc(fp);
if (ch=='\n')
{
flag+=1;
}
}
line=line-5;
for(c=100000;c<100004;c++)
{
if(fpp==NULL)
printf("the file don't exist.");
while (fscanf(fp,"%lf %lf",&a,&b)==2)
{
//a=a*1000000;
fpp=fopen(data,"w");
fprintf(fpp,"%e \n",a);
}
}
}
fclose(fp);
fclose(fpp);
return 0;
}
附几组数据
只有本站会员才能查看附件,请 登录