缓冲区空终止

use*_*986 1 c

我试图使用以下代码向我的缓冲区添加一个空终止.但我似乎无法通过我的null终止符.这是正确的方法吗?当我strlen我的缓冲区时,值为10但我只键入9个字符.

char buffer[256];
int n;

bzero(buffer,256);
fgets(buffer,255,stdin);
buffer[n-1]="\0";
Run Code Online (Sandbox Code Playgroud)

Joh*_*ehm 5

您正在分配字符串而不是char buffer[n-1] = "\0";.
试试吧 buffer[n-1] = '\0'; .