私のソフトウェアでは、複数の txt データベースを連続して読み取る必要があるため、最初に読み取ってから、そのファイルから取得した情報を使用して何かを行い、別のデータベースを開いて書き込みます。
ファイルを開くか作成するときにエラーが発生することがあり、その後、さまざまな関数、さまざまな変数、さまざまなファイルを使用する次のすべてのファイルを開く/作成するときにエラーが発生しました。
たとえば、2 つのファイルを使用する以下の関数を呼び出すと、"* error while opening file -%s- ..\n" というエラーが発生し、コード内の他のすべての fopen() がうまくいきません!
これは、1 つのファイルのコードの例です。
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);