应优先使用 snprintf 并检查返回值,或采用 c++20 std::format(限字面量格式串);传统 sprintf 易致缓冲区溢出,std::oStringstream 安全但冗长。
sprintf
传统 C 风格依赖 sprintf 或 snprintf,但 sprintf 不检查目标缓冲区大小,写超就踩内存——这不是 bug,是标准定义。实际项目中只要没严格算好长度(包括末尾
snprintf