sprintf为空字符字符串时的预期行为

时间:2018-09-06 19:03:36

标签: c++ null printf

在查看代码时,我发现以下代码段。

sprintf(retValue, "%s", "");

我注意到,即使retValue为NULL,这也不会导致崩溃。我正在开始一个相当大的重写,并且如果这种将值设置为空字符串的方式是预期的行为,我宁愿不要更改它(尽管我的内心告诉我应该这样做)。

1 个答案:

答案 0 :(得分:4)

  

当sprintf为空字符字符串时的预期行为

在这种情况下,没有预期的行为。该行为是不确定的。

  

我宁愿不更改它(尽管我的心告诉我应该这样做)。

您应该更改它。