sprintf
スレッドセーフですか?
//Global log buffer
char logBuffer[20];
logStatus (char * status, int length)
{
snprintf(logBuffer, 19, status);
printf ("%s\n", logBuffer);
}
snprintf
この関数のスレッドセーフは、 /のスレッドセーフに完全に依存しますsprintf
。
更新:
urの回答に感謝します。実際の内容がめちゃくちゃになってもかまいません。しかし、複数のスレッドが書き込もうとしているときに、sprintfが20バイトを超えるメモリ破損/バッファオーバーフローを引き起こさないことを確認したいlogBuffer
ですか?