线程sprintf
安全吗?
//Global log buffer
char logBuffer[20];
logStatus (char * status, int length)
{
snprintf(logBuffer, 19, status);
printf ("%s\n", logBuffer);
}
该函数的线程安全完全取决于snprintf
/的线程安全sprintf
。
更新:
感谢您的回答。我不介意,如果实际内容 gts 搞砸了。但是想确认 sprintf 在这种情况下不会导致内存损坏/缓冲区溢出超过 20 个字节,当多个线程试图写入时logBuffer
?