如何在C中将\ 0插入二进制文件

时间:2011-03-25 11:23:16

标签: c fwrite

我必须将一堆字符插入二进制文件。

为了做到这一点,我使用fwrite。在那之后,我想提出一个\0

我不知道该怎么做。

const unsigned char *my_word; /*my_word has no \0 at the end*/

fwrite(my_word, my_word_length_in_bytes, 1, my_file);

你能帮忙吗?

感谢。

5 个答案:

答案 0 :(得分:2)

您可以使用以下内容:

fputc(0, my_file);

答案 1 :(得分:1)

你需要让你的缓冲区用+1分配,然后

my_word[my_word_length_in_bytes]=0;
fwrite(my_word, my_word_length_in_bytes+1, 1, my_file);

答案 2 :(得分:0)

`fputc('\0', my_file);` will do it for you

答案 3 :(得分:0)

一个老技巧是使用空的以空字符结尾的字符串

fwrite("", 1, 1, my_file);

答案 4 :(得分:0)

您可以在word末尾连接'\ 0'字符,然后再将其写入文件(最佳解决方案imho),或者使用0x00字节执行第二次fwrite(这是ASCII代码'\ 0')。