【发布时间】:2014-01-13 01:08:40
【问题描述】:
我真的试过不去问这个,但是在这里搜索了几天之后。
我需要编写一个程序来打开一个名为 "input.bin" 的文件,并将其以二进制形式从头到尾打印到屏幕上。
虽然它对每个字节执行此操作,但它会将 00000101 添加到每个字节并将其打印在 "result.bin"
(for example 01001010
+00000101
=01001111
and 11111111
+00000101
=00000100)
【问题讨论】:
-
你能告诉我们你尝试了什么吗?
-
我真的一无所获。这是我使用最多stackoverflow.com/questions/10195343/… 的代码,但不知何故,我认为我应该使用 unsigned char 而不是 char。这种位操作在网上很难找到,好像现在没有人对它感兴趣。这是我的作业,所以我真的不能向教授寻求帮助。
-
这里实际上不需要任何位操作。根据您的描述,您正在读取字节,添加 5 并写入字节。执行此操作的代码可能比您想象的要简单得多。
-
我同意,仍然需要在屏幕上打印出来。让我感到困惑的另一件事是,如果我有 0xfa,0xfa+0x05=0xff 会变成 EOF 字符吗?
-
不,没有“EOF 字符”之类的东西。
fgetc()之类的函数可以返回特殊值EOF,但这不是一个有效字符(即不能将其放入文件中,也不能从文件中读取)。跨度>