如何在c的字符串末尾插入NULL

0 c

我正在使用gets()函数进行输入.所以,我想检查字符串结束的位置.但是NULL没有插入字符串的末尾,因为它是通过使用插入的scanf().那我该怎么做呢?

Joh*_*nck 8

gets()绝对会插入一个空终止符.但请注意,gets()已弃用,不应使用.请fgets()改用,因为它可以避免缓冲区溢出漏洞.

fgets在标准输入上使用:

char buffer[256]
fgets(buffer, sizeof(buffer), stdin);
Run Code Online (Sandbox Code Playgroud)

  • @ Mr.32:是的,'\ 0'是ASCII NUL终结符,"\ 0"是一个包含NUL后跟隐含的第二个NUL的字符串,因为所有C字符串都有一个自动添加的字符串. (2认同)