本文介绍了未格式化的二进制文件输入的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
#include <iostream> #include <fstream> using namespace std; int main() { ofstream out("f.bin"); char c = 0x61; out.write(&c, sizeof(char)); ifstream in("f.bin"); char d; in.read(&d, sizeof(char)); if (d != 0x61) cerr << "Extraction failed!" << endl; //this always appears return 0; }
这是我尝试处理二进制文件i / o的简化片段。十六进制编辑器显示写入成功(f.bin中的'a''),但我不知道为什么我无法从文件()中提取char。我在这里错过了什么?
This is a simplified snippet of my attempt in a practice of dealing with binary file i/o. The hex editor shows that writing is successful (''a'' in f.bin), but I have no idea why I cannot extract the char from the file (). What did I miss here?
推荐答案试试: Try: int main() { ofstream out("test.bin", ofstream::out); char c = 0x61; out.write(&c, sizeof(char)); out.close(); ifstream in("test.bin", ofstream::in); char d; in.read(&d, sizeof(char)); if (d != 0x61) cerr << "Extraction failed!" << endl; //this always appears in.close(); return 0; }
www.cplusplus/doc/tutorial/files/ [ ^ ]
更多推荐
未格式化的二进制文件输入
发布评论