c++ - 读取包含 16 位签名数据的文件

标签 c++ file file-io fopen

我想打开一个包含 16 位有符号数据的文件(大约 400kb),进行一些计算(例如 output[i] = input[i] - input[i-1]),然后将输出写入新文件。

我对 C++ 中这么简单的事情有点困惑:我知道如何在文件中写入文本,但不知道原始数据。一个小的工作示例会很棒!

最佳答案

这里是读写操作。

#include <fstream>

ifstream infile("input", ios_base::binary);
int16_t in[100], out[100];
infile.read(reinterpret_cast<char*>(in), sizeof in);
...
ofstream outfile("output", ios_base::binary);
outfile.write(reinterpret_cast<char*>(out), sizeof out);

但还有很多工作要做,例如错误检查、动态分配、字节顺序。

关于c++ - 读取包含 16 位签名数据的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18433205/

相关文章:

c++ - C++:如何从k = 2 ^ a * b中找到a和b?

c - Mac OS X 中的强制文件锁定

c++ - 如何从 C++ 中的 std::ifstream 获取文件路径

java - 如何确保 Mac 上的 Java 应用程序中的 open 命令调用 main 函数

Python:分部分读取文本文件

c++ - Qt从子方法更新文本框

c++ - Spirit Qi MiniC 示例的语法树空节点问题

c++ - QCustomPlot QCPItemEllipse 位置

java - 无法从服务器上的java小程序读取相关文本文件

c - 文件指针和使用 fgets