null terminating a string

前端 未结 4 743
有刺的猬
有刺的猬 2020-11-29 05:48

gcc 4.4.4 c89

What is the standard way to null terminate a string? When I use the NULL I get a warning message.

*dest++ = 0; 
*dest++ =          


        
4条回答
  •  暗喜
    暗喜 (楼主)
    2020-11-29 06:39

    To your first question: I would go with Paul R's comment and terminate with '\0'. But the value 0 itself works also fine. A matter of taste. But don't use the MACRO NULLwhich is meant for pointers.

    To your second question: If your string is not terminated with\0, it might still print the expected output because following your string is a non-printable character in your memory. This is a really nasty bug though, since it might blow up when you might not expect it. Always terminate a string with '\0'.

提交回复
热议问题