我正在使用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
?
答案 0 :(得分:14)
sprintf_s
与sprintf
基本相同,但它会获得另一个参数:
sprintf_s(newpath, sizeof(newpath), "%s%s", cCurrentPath, "\\init.scm");
注意 - 如果newpath
是普通字符数组,则sizeof(newpath)
有效。如果它是作为参数传递的指针或数组,您可能需要一种不同的方式来获得大小
您也可以在非MS环境中使用snprintf
用于相同的目的(尽管它的工作方式不同)。