关于文件存取的问题

mose 2003-07-22 01:31:56
有一个1.dat文件 是16进制方式存储的(如果用notepad打开就是Spa这样的字符,用ultraedit打开看是53 70 61 11等)也就是(0x53 0x70 0x61 0x11)

我想每次只取一个字节的一半 就是5 然后取3

请问如何处理

use c or c++
...全文
22 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
mose 2003-07-22
  • 打赏
  • 举报
回复
如果是C呢?
我这样
numwritten = fread(chBuffer,(sizeof(char) / 2),Len,Infp);
可是取到chBuffer里的是空
Kidsheep 2003-07-22
  • 打赏
  • 举报
回复
用移位运算符可以实现

ifstream infile("1.dat");

char ch, left_ch, right_ch;
infile >> ch;
left_ch = ch >> (sizeof(char) / 2);
right_ch = (ch << (sizeof(char) / 2)) >> (sizeof(char) / 2);
//left_ch中保存ch的高半个字节
//right_ch中保存ch的低半个字节

15,447

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧