我正在使用sprintf(newpath, "%s%s", cCurrentPath, "\init.scm");
将\init.scm添加到当前目录路径,但有一个常见的警告:
warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.
Sprintf_s
不支持这样的"%s%s"字符串和。如何使用sprintf_s
?
sprintf_s
与sprintf
基本相同,但它得到了另一个参数:
sprintf_s(newpath, sizeof(newpath), "%s%s", cCurrentPath, "\init.scm");
注意-如果newpath
是一个普通字符数组,则sizeof(newpath)
有效。如果是作为参数传递的指针或数组,则可能需要不同的方法来获取大小
您也可以在非MS环境中将snprintf
用于相同的目的(尽管它的工作方式不同)。