c++ - 使用fstream方法读取二进制数据

标签 c++ c char fstream unsigned-char

我需要读取二进制数据进行缓冲,但在 fstreams 中我已经读取函数将数据读入 char 缓冲区,所以我的问题是:

如何将二进制数据传输/转换为 unsigned char 缓冲区,在这种情况下它是最佳解决方案吗?

例子

  char data[54];
  unsigned char uData[54];
  fstream file(someFilename,ios::in | ios::binary);
  file.read(data,54);
  // There to transport **char** data into **unsigned char** data (?)
  // How to?

最佳答案

先读入unsigned char数据就可以了

unsigned char uData[54];
fstream file(someFilename,ios::in | ios::binary);
file.read((char*)uData, 54);

强制转换是必要的但无害。

关于c++ - 使用fstream方法读取二进制数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20168313/

相关文章:

c++ - boost :将基础类(class)替换为标准类(class)?

c++ - 是否值得插入 `const` -正确性

c++ - 在 C++ 中构建简单的部分数组类时出现编译时错误

c - 使用 c 的对象树?

C++ - 如何将 default_random_engine 正确绑定(bind)到两个不同的 uniform_int_distributions

c - 变量类型本身就是变量的语言?

c - 如何判断 C 整型变量是否有符号?

java - 如何测试一个字符是否不在字符串中? (java, junit)

Java 比较 2 个字符并将它们添加到 ArrayList

c++ - CString 或 char 数组哪个在内存方面更好