一个简单而奇怪的问题!

hejun548 2008-04-02 03:36:03
unsigned long buffer[2];
int fr,fs;
fr=open("tmp.txt",O_RDONLY);
fs=open("tr.txt",O_WRONLY|O_CREAT);
read(fr,buffer,8);
printf("Input buffer to decrypt:%x%x\n",buffer[0],buffer[1]);
tea_decrypt(buffer,key);
printf("Input buffer to decrypted:%x%x\n",buffer[0],buffer[1]);
write(fs,buffer,8);
close(fr);
close(fs);

这是一个解密程序的部分代码,调用tea_decrypt函数来解密,编译没有问题,但是执行总是不对,原来在read(fr,buffer,8)每次只能读到4个字节,而5~8个字节都是空的,为什么这样啊?
...全文
68 5 打赏 收藏 转发到动态 举报
写回复
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
luowin 2008-04-02
  • 打赏
  • 举报
回复
仔细看看read这个函数
hejun548 2008-04-02
  • 打赏
  • 举报
回复
tmp.txt内容:
I-O DATA DEVICE,INC.
I-O DATA RHD2-U
04BB
0118
xxxxxxxxxxxxxxxx
paidfighting 2008-04-02
  • 打赏
  • 举报
回复
up ls, 看看tem.txt
hejun548 2008-04-02
  • 打赏
  • 举报
回复
没有啊,tmp.txt文件中,第一行有超过8个字符啊
Supper_Jerry 2008-04-02
  • 打赏
  • 举报
回复
可能是read遇到结束符了

63,594

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下