我正在尝试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。为什么会这样?