c++ - 从 C++ 中的 .obj 文件中读取整数

标签 c++ file .obj

我有以下问题。我需要从文件 xxx.obj 中读取整数。整数始终为 4B。

如果我使用 hexdump -C 来归档,它看起来是:

04 00 00 00 06 00 00 00  08 00 00 00 50 00 00 00

一对是 1B。

这是我打开文件的方式:

ifstream fs1;
fs1.open( srcFile1, ios::in | ios::binary );

这就是我如何在循环中从文件中读取 1B:

while( fs1.get( c ) )
  {
    cnt = (int)(unsigned char)c;
    cout << cnt << endl;

  }

输出是:

4
0
0
0
6
0
0
0
8
0
0
0
80
0
0
0

知道如何直接读取 int 或如何读取 4x 1B 然后转换为 int 吗?

最佳答案

我建议使用 int32_t 数据类型,这样您就可以确保获得一个 4 字节的 int。或者,如果您需要无符号数,请使用 uint32-t

int32_t x; // Make sure integer is 4 bytes
fs1.read(&x, sizeof(x)); // Read from file

关于c++ - 从 C++ 中的 .obj 文件中读取整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36227698/

相关文章:

javascript - 如何在 Three.js 中加载 .obj 3D 模型?

c++ - Visual Studio 何时生成 32 位 .obj 文件和 64 位 .obj 文件?

c++ - 从原始文件中取出奇偶行到新文件,然后拼接回 C++

c++ - 如何在 C++ 中使用 scanf() 读取字符串?

宏中的 C++ 连接

C++ UDP 双向客户端/服务器传送

c - 指针和字符串的关系

java - 在 Linux 中将 Java URL 转换为有效的文件路径

java - JAVA,使法线数组具有顶点数组的长度(来自已解析的OBJ文件)

c++ - 如何替换我的 'for' 循环以通过 STL mimax 算法查找最小值/最大值