c - 磁盘读写 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。为什么会这样?
解决方案
推荐阅读
- go - Google App Engine Flex Container Deployment Issues
- r - group two variables(in rows) in R to create one variable
- php - 计算总金额乘以 100 的折扣
- php - 当我添加斜线/在路由之后样式消失
- swift - 自己的“圆点”游戏 - 奇怪的行为
- javascript - 为什么 Object.keys 在 String、Boolean、Number 和 Object 的原型上不能按预期工作?
- c# - CSOM 不使用 Windows 凭据并给出“远程服务器返回错误:(403) Forbidden。” 错误
- php - 自定义控制器验证不起作用 Api 平台
- autocomplete - Microsoft Edge 地址栏不再自动填充
- rust - 如何为 dyn Trait 对象的 Vec 获取 fmt::Debug 的实现?