sprintf拼接路径易出问题,因其不检查缓冲区大小、难预估路径长度、不处理分隔符差异、不保证 结尾,导致越界、截断或未定义行为;应改用snprintf并校验返回值,或优先使用c++17 std::filesystem::path。

为什么 sprintf 拼接路径在 C++ 里容易出问题
因为 sprintf 不检查目标缓冲区大小,写超了就直接越界 —— 路径拼接时长度难预估(比如用户名含中文、临时目录嵌套深),一不小心就覆盖相邻变量或触发未定义行为。它也不处理 Windows/Linux 路径分隔符差异,更不保证字符串以
