Kei*_*ler 2 c string null printf
我正在使用fprintf将一个字符串附加到文档,这是我有一个问题的关于:
fprintf(win, bff[i - 2] != '\n' && bff[i - 2] != '\r' ? "\nmultiscreen=1" : "multiscreen=1");
Run Code Online (Sandbox Code Playgroud)
代码有效,它附加multiscreen=1到文件中的下一个可用行.
但是,如果我理解正确,它不会添加一个NULL字符到最后multiscreen=1?这是否重要,因为我将它写入文件并且NULL字符串中的尾部是C的东西?
或者使用fputs而不是更正确fprintf?
字符串文字自动将其0作为最后一个字符.所以你不需要自己添加一个.
该NUL终止仅供fprintf(或任何字符串您使用功能),知道什么时候该停止写入从指针字符; 没有NUL是真正被写入文件.
是的,我建议使用fputs而不是fprintf因为你没有使用任何格式化工具fprintf,除非你在使用格式化序列的问题的评论中使用pmg的建议.