首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在C++中读取uint16?

在C++中读取uint16?
EN

Stack Overflow用户
提问于 2011-06-17 02:33:41
回答 4查看 2.4K关注 0票数 4

我正在尝试读,使用fread从C++中的外部文件读入值。这些值被存储为uint16,这在C++中似乎并不存在。我做了一些谷歌搜索,发现人们使用typedef制作自己的文件,但我也想知道是否可以只使用fread( ptr,uint8,2,uint16 )来读取两个要存储在ptr中的uint8。

有没有人知道最好的方法呢?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-06-17 02:36:55

您可能需要:

代码语言:javascript
复制
fread(ptr, sizeof(uint8), 2, file)

在我看来还可以,fread(ptr, 1, 2, file)甚至更好。或者fread(ptr, sizeof(uint16_t), 1, file)

我假设ptr是一个指向您想要存储数据的位置的指针,而不是变量本身(如果是这样的话-使用&ptr)。

不过,一次读取两个字节可能会成为性能问题,请考虑读取内存缓冲区,然后对其进行解析。

票数 3
EN

Stack Overflow用户

发布于 2011-06-17 02:38:37

uint16_t这样的固定大小整数类型是在<stdint.h>头中定义的。包括这一点,你就可以做生意了。

票数 4
EN

Stack Overflow用户

发布于 2011-06-17 03:25:04

代码语言:javascript
复制
#include <stdint.h>

应该会为你解决这个问题

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6376840

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档