我承认自己后知后觉,刚刚领悟什么叫“史上最喜感程序”
Tofloor
poster avatar
xliang9550
deepin
2015-08-08 08:39
Author
还是选材自笑话书《伴侣》,里面有一段用wb模式打开二进制文件,用fputs函数向其中写入字符串的例程。
我一开始没反应过来,因为原书作者最后说:用16进制编辑器打开刚才生成的文件,可以看到字符串变成了一串16进制数。
我刚刚用gcc编译了一下,用16进制编辑器查看,确实看到的是16进制序列,还能看到其他的形式吗?
可是,如果直接用文本编辑器打开呢……

各位可以亲测,我按照笑话书中的方法照本宣科,随便写了一段YY的文字。
#include
#include

int main(void)
{
    FILE *fp;
    fp=fopen("text.bin","wb");
    if(fp==NULL)
    {
        fprintf(stderr,"Error opening file!\n");
        return EXIT_FAILURE;
    }
    fputs("This is a binary file.\n",fp);
    fputs("I love Chris Lee.\n",fp);
    fclose(fp);
    return 0;
}

然后尝试在终端执行:
gedit text.bin
看看结果如何。
Reply Favorite View the author
All Replies
JamWeight
deepin
2015-08-08 20:17
#1
C语言?
Reply View the author
BingoLove
deepin
2015-08-08 20:46
#2
有什么问题吗?文本编辑器看到的就是正常文字,16进制看到的不就是16进制吗
Reply View the author
xliang9550
deepin
2015-08-08 22:55
#3
作者原本打算用这种方式进行所谓的“16进制编码”加密。

槽点在于,作者似乎并不清楚,对于ASCII字符串而言,w和wb的写入方式并没有本质上的区别。
Reply View the author
New Thread

Popular Events

More
国际排名
WHLUG