将字符串作为二进制数据写入文件-C

时间:2015-05-04 10:36:13

标签: c binary-data

我想将一个字符串作为二进制数据写入文件。 这是我的代码:

FILE *ptr;
ptr = fopen("test.dat","wb"); // w for write, b for binary
fprintf(ptr,"this is a test");
fclose(ptr);

运行程序并打开文件test.dat后,我读了"这是一个测试"但不是我想要的二进制数据。有人可以帮帮我吗?

2 个答案:

答案 0 :(得分:2)

你似乎有些困惑;典型计算机中的所有数据都是二进制您打开文件进行二进制访问的事实意味着它将具有例如完成了行尾转换,它不会改变您所写数据的解释。

您只是在查看二进制数据,其表示形式是一堆人类可读的字符。不确定你期望找到什么,这是你放入文件的所有内容。

字母't'由二进制序列01110100表示(假设与ASCII兼容的编码),但许多程序会将其显示为't'。

答案 1 :(得分:0)

记事本解码二进制数据并显示它的ASCII等效代码。

如果您需要查看存储数据的二进制等效值,请使用十六进制查看器软件并在其中打开您的文件。的WinHex。