fwrite() を使用したことがないため、何が間違っているのか正確にはわかりません。私は今それをテストしているだけで、最後に到達するまでファイルに単一の文字を書き込もうとするだけです。私が書いているファイルは、先生のウェブサイトからダウンロードしたものです。プロパティを確認すると、タイプが「ファイル」しか表示されていません。これは、コードを書き込むための 2MB の空のファイルであるはずです (ファイル システム ラボ)。これが私のコードです:
#include <stdio.h>
#include <string.h>
int main()
{
char c;
FILE *fp;
char testing[2] = {'c'};
fp = fopen("Drive2MB", "rw");
fseek(fp, 0, SEEK_SET); //make sure pointers at beginning of file
while((c=fgetc(fp))!=EOF)
{
fwrite(testing, 1, sizeof(testing), fp);
fseek(fp, 1, SEEK_CUR); //increment pointer 1 byte
}
fclose(fp);
}
これを実行すると、"Debug Assertion Failed!...Expression:("Invalid file open mode",0) というエラー メッセージが表示され、"The program '[3896] filesystem.exe: Native' has exited with code. 3 (0x3)」です。