我必须将一堆字符插入二进制文件。
为了做到这一点,我使用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);
你能帮忙吗?
感谢。
答案 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')。