0
以下的輸出 「STR-3,」 不過,我希望它是 「STR-2,STR-3,」爲什麼下面僅包含STR-3
如果我改變的snprintf到的sprintf那麼這工作如何我預期它;不應該snprintf和sprintf表現一樣嗎?
int main (int argc, char **argv)
{
char str[64];
str[0] = '\0';
snprintf(str, 64, "%s%s,", str, "str-2");
snprintf(str, 64, "%s%s,", str, "str-3");
printf("%s\n",str);
}
如果源和目的地重疊,則是UB –