-2
我正在开发解码存储在PPM格式图片中的秘密消息的任务。我需要做的第一件事是找到消息的长度,它隐藏在图片的前8个数据字节中的单个字节中。在我有了这个之后,我的逻辑就是创建一个方法,让我有一个循环移动位7位,记录第一位,当有8位时,返回它们表示的字符。 所以现在我试图理解这将如何工作。 我试图得到隐藏消息长度的值。 我试图手动执行此操作以查看所有位的行为。存储最低级别的位并返回一个字符
fgets(str,64,fp);
char length[7];
length[0] = str[7];
length[1] = str[15];
length[2] = str[23];
length[3] = str[31];
length[4] = str[39];
length[5] = str[47];
length[6] = str[55];
length[7] = str[63];
printf(length);
如此以来,长度隐藏在8个字节我用与fgets(STR,64,FP)的最低水平位;然后将每个第8个值存储在一个数组中。这返回“enpm0dp”。 当我将数组更改为int时,输出是一个箭头。
有人可以向我解释如何将位存储到一个字节,然后返回对应于此值的字符?我使用8位数组吗?或将它们存储在一个字符串中?
我是C新手,并试图了解它是如何工作的,然后再尝试应用它。 for循环的主体是做什么的? – 2014-10-08 15:39:24