在我的软件中,我必须以串行方式读取多个 txt 数据库,所以我读取第一个,然后使用从该文件中获得的信息做一些事情,然后再打开另一个进行写入,依此类推。
有时我在打开或创建文件时遇到错误,然后在所有以下打开/创建时遇到错误,这些打开/创建使用不同的函数、不同的变量、不同的文件。
因此,例如我调用下面的函数,它使用两个文件,我得到一个错误“*打开文件时出错 -%s-..\n”,然后我的代码中的所有其他 fopen() 都出错了!
这是单个文件的代码示例:
FILE *filea;
if((filea=fopen(databaseTmp, "rb"))==NULL) {
printf("* error while opening file -%s- ..\n",databaseTmp);
fclose (filea);
printf("---------- createDatabaseBackup ----------\n");
return -1;
}
int emptyFolder=1;
FILE *fileb;
if((fileb=fopen(databaseBackup, "ab"))==NULL) {
printf("* error while opening file -%s- ..\n",databaseBackup);
fclose (fileb);
printf("---------- createDatabaseBackup ----------\n");
return -1;
}
else {
int i=0;
char c[500]="";
for (i=0;fgets(c,500,filea);i++) {
fprintf(fileb,"%s",c);
emptyFolder=0;
}
}
fclose(fileb);
fclose(filea);