我想为3位数字,状态和空字符创建一个缓冲区。目前我有
char buf[4];
sprintf(buf, "%d",status);
我的问题是,这对于3位数字是否足够大,它是从waitpid()作为状态返回的
是的,但是没有什么可以防止用户(或被status
填充)输入多于三位数并溢出该小缓冲区的情况。
snprintf
应该改用该函数,它将切断太长的输入:
snprintf(buf, 4, "%d", status); // the 4 is the length of buf
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句