私は、ファイルに書き込まれたときに構造体内にあった特定の文字列をファイルで検索するプログラムに取り組んでいます。そのファイル内で一致するものが見つかった場合、その構造体の一部を上書きする必要があります。一致するファイルを検索するのは非常に簡単ですが、その構造体を上書きするのに苦労しています。以下は、ファイルを検索してそのデータを上書きしようとしている私のコードです。
dfp = fopen(archName, "ab");
if(dfp == NULL) {
printf("An error has occurred... %s could not be opened.\n", archName);
return 0;
} /* End if */
/* Read first header file */
fread(&getHeader, sizeof(getHeader), 1, dfp);
/* Check for match */
if(strcmp(fName[0], getHeader.file_name) == 0) {
getHeader.deleted = (char)49;
fwrite(&getHeader, sizeof(getHeader), 1, dfp);
getHeaderは構造体であることに注意してください。私のファイルのどこにでも保存できる複数の構造体があります。各ヘッダーで特定の文字列を検索する必要があります(簡単)。一致するものが見つかった場合、その構造体を上書きする必要があります。
そのようなタスクを達成するためにどのようなプロセスが推奨されますか?