从文件缓冲区读取 6 个字节
伙计们,我需要从文件缓冲区读取 6 个字节并将它们存储为无符号数。
ifstream ifs("dummy.txt", ios::binary);
unsigned __int64 result = 0;
ifs.read((char*)&result, 6);
这是正确的吗?
Guys, i need to read 6 bytes from filebuffer and store them as unsigned number.
ifstream ifs("dummy.txt", ios::binary);
unsigned __int64 result = 0;
ifs.read((char*)&result, 6);
This is correct?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
首先,64 位无符号整数的标准类型是
“无符号长长”或“uint64_t”。其次,你必须知道
您正在读取的文件中数据的格式。我从未见过格式
它使用六个字节,所以很难猜测,但假设它是
二进制文件,您应该使用:
或
根据格式,使用:
First, the standard type of a 64 bit unsigned integer is either
'unsigned long long' or 'uint64_t'. And second, you have to know the
format of the data in the file you're reading. I've never seen a format
which uses six bytes, so it's difficult to guess, but supposing it's
binary, you should use either:
or
depending on the format, with: