Никогда не использовал fwrite (), поэтому я не уверен, что именно я делаю неправильно. Сейчас я просто тестирую его, и все, что я хочу сделать, это попытаться записать один символ в файл, пока он не достигнет конца. Файл, в который я пишу, - это файл, который я скачал с сайта моего учителя. Когда я проверяю его свойства, тип указывается только как «файл». Это должен быть пустой 2-мегабайтный файл, в который мы могли бы написать наш код (лаборатория файловой системы, если кому-то интересно). Вот мой код:
#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);
}
Когда я запускаю это, появляется сообщение об ошибке «Отладочное утверждение не удалось! ... Выражение :(« Недопустимый режим открытия файла », 0) и выводится сообщение« Программа »[3896] filesystem.exe: Native» имеет выход с кодом 3 (0x3). "