首页 > 解决方案 > 磁盘读写 C & 垃圾值

问题描述

我正在试验 fread() 和 fwrite(),但遇到了一些问题。

主要是,我的代码如下所示:

//write back to file
char buffers[sizeof(char)*4];

FILE *fp = fopen("test", "wb");
char data[] = {'C', 'S', 'C'};
fwrite(data, sizeof(char), sizeof(data)/sizeof(char), fp);

fread(buffers, sizeof(char), sizeof(buffers)/sizeof(char), fp);

for (int i = 0; i<sizeof(buffers); i++) {
    printf("%c", buffers[i]);
}

我要做的是首先编写一个名为“test”的文件,其中包含 CSC 作为其内容,然后在命令行中读取内容。但是,在完成 for 循环后,命令行会给出垃圾值 (????(v?Z????Z???Y???Y????V?Y???Y??? Y????) ,而不是应该打印的 CSC。为什么会这样?

标签: cfilechar

解决方案


推荐阅读