从未使用过 fwrite(),所以我不确定我做错了什么。我现在只是在测试它,我想做的就是尝试将单个字符写入文件,直到它到达末尾。我正在写入的文件是我从老师的网站上下载的文件。当我检查它的属性时,类型仅列为"file"。它应该只是一个 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);
}
当我运行它时,弹出一条错误消息说“调试断言失败!...表达式:(“无效的文件打开模式”,0)并打印“程序'[3896] filesystem.exe: native '有以代码 3 (0x3) 退出。”
最佳答案
您已打开文件进行阅读(r
在 fopen("Drive2MB", "r");
中的含义)。您不能写入为读取而打开的文件。
关于C - fwrite() 不输出到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4363911/