SecureCRT 示例:将已否决的 CRT 函数转换为它们的 _s 副本
本示例说明如何将出于安全原因而被否决的 CRT 函数转换为它们的 _s 副本。 涉及下列函数的转换:strcpy、strncpy、fopen、_splitpath、sprintf、getenv、strcat、_creat 和 itoa。 它还演示了另一个新增的安全 CRT 函数 _set_invalid_parameter_handler 的使用。
本示例使用标准 CRT 函数实现贝叶-莫尔字符串匹配算法。
安全说明 |
---|
此代码示例用于阐释一个概念,并且仅显示与此概念相关的代码。该代码可能不符合特定环境的安全要求,因此不应原样搬用所显示的代码。我们建议您添加安全性代码和错误处理代码,以使项目更加安全可靠。Microsoft“原样”提供此代码示例,不提供任何保证。 |
获取示例和安装示例的说明:
访问 Visual Studio 中的示例
在**“帮助”菜单上,单击“示例”**。
默认情况下,这些示例安装在 drive:\Program Files\Microsoft Visual Studio 10.0\Samples\ 中。
- 有关此示例的最新版本以及其他示例的列表,请参见 MSDN 网站上的 Visual Studio 示例。
生成并运行此示例
在 Visual Studio 开发环境中打开解决方案文件 SecureCRT.sln。
从**“生成”菜单中单击“生成解决方案”**。
从**“项目”菜单中单击“属性”**。
在**“配置属性”下选择“调试”**。
在**“命令参数”**文本框中指定要传递给程序的参数(“if find.cpp”是很好的首选)。
在**“调试”菜单上,单击“开始执行(不调试)”**。 应用程序会在文件(在本例中是 find.cpp)的每一行中搜索您在“命令参数”中指定的文本(“if”),并会将所有匹配项写入工作目录中的某个文件(在本例中是 find.cpp.match)。
也可以从命令行运行应用程序:SecureCRT.exe if find.cpp。
关键字
strcpy_s, strncpy_s, fopen_s, _splitpath_s, sprintf_s, getenv_s, strcat_s, itoa_s, _set_invalid_parameter_handler
请参见
参考
strncpy_s, _strncpy_s_l, wcsncpy_s, _wcsncpy_s_l, _mbsncpy_s, _mbsncpy_s_l
sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l
_itoa_s, _i64toa_s, _ui64toa_s, _itow_s, _i64tow_s, _ui64tow_s
_set_invalid_parameter_handler