CRT 函数的安全增强版本

类型库运行库程序的更安全版本可用。 有关 CRT 中的安全改进的详细信息,请参见 CRT 中的安全功能

安全函数

功能

使用

.NET Framework 等效项

_access_s、_waccess_s

确定文件的访问权限

不适用。 若要调用标准 C 函数,请使用 PInvoke。 有关更多信息,请参见平台调用示例

_malloca

在堆栈上分配内存。

不适用

asctime_s、_wasctime_s

从 struct tm 类型到字符串的转换时间。

System::DateTime::ToLongDateStringSystem::DateTime::ToLongTimeStringSystem::DateTime::ToShortDateStringSystem::DateTime::ToShortTimeStringSystem::DateTime::ToString

bsearch_s

执行一个排序数组的二进制搜索。

BinarySearch

_cgets_s、_cgetws_s

从控制台获取一个字符串。

不适用

_chsize_s

更改文件的大小。

clearerr_s

重置流的错误指示器。

  • 不适用

_controlfp_s

获取和设置浮点控制字。

  • 不适用

_cprintf_s、_cprintf_s_l、_cwprintf_s、_cwprintf_s_l

布局和输出到控件中。

  • 不适用

_cscanf_s、_cscanf_s_l、_cwscanf_s、_cwscanf_s_l

从控制台读取格式数据。

  • 不适用

_ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s

将时间从类型time_t, __time32_t 或 __time64_t转换为字符串。

System::DateTime::GetDateTimeFormats, System::DateTime::ToString, System::DateTime::ToLongTimeString, System::DateTime::ToShortTimeString

_ecvt_s

将 double 数字转换成字符串。

System::Convert::ToString

_fcvt_s

将浮点数转换为字符串。

ToString

fopen_s、_wfopen_s

打开文件。

fprintf_s、_fprintf_s_l、fwprintf_s、_fwprintf_s_l

将格式化的数据打印到流

System::IO::StreamWriter::Write

freopen_s、_wfreopen_s

重新分配一个文件指针。

fscanf_s、_fscanf_s_l、fwscanf_s、_fwscanf_s_l

从流中读取格式化数据。

_ftime_s、_ftime32_s、_ftime64_s

获取当前时间

System::DateTime::Now

_gcvt_s

将浮点值转换为字符串,存在缓冲区。

ToString

getenv_s、_wgetenv_s

从当前环境获取值。

System::Environment::GetEnvironmentVariable

gets_s、_getws_s

从 stdin 流获取线。

System::Console::Read

_gmtime32_s,_gmtime64_s

将时间从类型 time_t 转换为 structtm 或从类型 __time64_t 转换为 struct tm

System::DateTime::UtcNowSystem::DateTime::ToUniversalTime

_itoa_s、_i64toa_s、_ui64toa_s、_itow_s、_i64tow_s、_ui64tow_s

将整数转换为字符串。

System::Convert::ToString

_lfind_s

执行指定键的线性搜索。

System::Collections::ArrayList::Contains

localtime_s、_localtime32_s、_localtime64_s

将时间从类型 time_t 转换到 struct tm 或从类型__time64_t 转换到带本地更正的struct tm

System::DateTime::ToLocalTime

_lsearch_s

执行值的线性搜索;如果没有找到就添加到列表的末尾。

不适用

_ltoa_s、_ltow_s

长整数转换为字符串。

System::Convert::ToString

_makepath_s、_wmakepath_s

创建组件的路径名。

System::IO::File::Create

_mbccpy_s、_mbccpy_s_l

从一个字符串到另一个字符串复制多个字符。

不适用

_mbsnbcat_s、_mbsnbcat_s_l

至多,追加一个多字节字符字符串的第一个 n 字节到另一个字符串。

不适用

_mbsnbcpy_s、_mbsnbcpy_s_l

复制字符串的 n 字节到目标字符串。

不适用

mbsrtowcs_s

多字节字符串转换为相应的宽字符字符串。

不适用

mbstowcs_s, _mbstowcs_s_l

将多字节字符序列转换为对应的宽字符序列。

不适用

memcpy_s、wmemcpy_s

复制在缓冲区之间的字符

不适用

memmove_s、wmemmove_s

移动一缓冲区到另一种缓冲区

不适用

_mktemp_s、_wmktemp_s

创建唯一文件名

不适用

printf_s、_printf_s_l、wprintf_s、_wprintf_s_l

将格式化输出打印至标准输出流

_putenv_s、_wputenv_s

创建,修改或移除环境变量

  • 不适用

qsort_s

执行快速排序

System::Collections::ArrayList::Sort

rand_s

生成一个伪随机数

系统唯一的类

scanf_s、_scanf_s_l、wscanf_s、_wscanf_s_l

从标准输入流中读取格式化数据

System::Console::ReadSystem::Console::ReadLine,或者参见 Parse 方法,如 System::Double::Parse

_searchenv_s、_wsearchenv_s

使用环境路径搜索文件。

不适用

_snprintf_s、_snprintf_s_l、_snwprintf_s、_snwprintf_s_l

将格式化数据写入字符串

不适用

_snscanf_s、_snscanf_s_l、_snwscanf_s、_snwscanf_s_l

从字符串中读取一个指定长度的格式化数据。

不适用

_sopen_s、_wsopen_s

打开要分享的文件。

不适用

_splitpath_s、_wsplitpath_s

将路径名称分解成组件

不适用

sprintf_s、_sprintf_s_l、swprintf_s、_swprintf_s_l

将格式化数据写入字符串

System::String::Format

sscanf_s、_sscanf_s_l、swscanf_s、_swscanf_s_l

从字符串中读取格式化数据

请参见 Parse 方法,如 System::Double::Parse

strcat_s、wcscat_s、_mbscat_s

附加字符串

System::String::Concat

strcpy_s、wcscpy_s、_mbscpy_s

复制字符串

System::String::Copy

_strdate_s、_wstrdate_s

以字符串形式返回当前系统日期

System::DateTime::Parse

strerror_s、_strerror_s、_wcserror_s、__wcserror_s

获取系统错误信息 (strerror,_wcserror) 或打印一个用户提供的错误消息 (_strerror,__wcserror)。

System::Exception::Message

_strlwr_s、_strlwr_s_l、_mbslwr_s、_mbslwr_s_l、_wcslwr_s、_wcslwr_s_l

将字符串转换为小写字母

System::String::ToLower

strncat_s、_strncat_s_l、wcsncat_s、_wcsncat_s_l、_mbsncat_s、_mbsncat_s_l

向字符串追加字符

System::String::Concat

strncpy_s、_strncpy_s_l、wcsncpy_s、_wcsncpy_s_l、_mbsncpy_s、_mbsncpy_s_l

将一个字符串的字符复制给另一个。

System::String::Copy

_strtime_s、_wstrtime_s

以字符串形式返回当前系统时间

System::DateTime::ToLongDateStringSystem::DateTime::ToLongTimeStringSystem::DateTime::ToShortDateStringSystem::DateTime::ToShortTimeStringSystem::DateTime::ToString

strtok_s、_strtok_s_l、wcstok_s、_wcstok_s_l、_mbstok_s、_mbstok_s_l

通过使用当前区域设置或通过的区域设置,查找在字符串中的下一个标记

不适用

_strupr_s、_strupr_s_l、_mbsupr_s、_mbsupr_s_l、_wcsupr_s、_wcsupr_s_l

将字符串转换为大写字母

System::String::ToUpper

tmpfile_s

创建一个临时文件

不适用

tmpnam_s、_wtmpnam_s

生成可用来创建临时文件的名称

不适用

_ultoa_s、_ultow_s

将无符号 long 整数转换为字符串

System::Convert::ToString

_umask_s

设置默认的文件权限掩码

System.IO.File::GetAttributes

_vcprintf_s、_vcprintf_s_l、_vcwprintf_s、_vcwprintf_s_l

使用指向参数列表的指针编写格式化输出到控制台

System::Console::Write

vfprintf_s、_vfprintf_s_l、vfwprintf_s、_vfwprintf_s_l

编写使用指针参数列表的格式化输出

不适用

vprintf_s、_vprintf_s_l、vwprintf_s、_vwprintf_s_l

编写使用指针参数列表的格式化输出

System::Console::Write

vsnprintf_s、_vsnprintf_s、_vsnprintf_s_l、_vsnwprintf_s、_vsnwprintf_s_l

编写使用指针参数列表的格式化输出

不适用

vsprintf_s、_vsprintf_s_l、vswprintf_s、_vswprintf_s_l

编写使用指针参数列表的格式化输出

System::String::Format

wcrtomb_s

将宽字符转换为它的多字节字符形式

不适用

wcsrtombs_s

将宽字符字符串转换为多字节字符串表示形式

不适用

wcstombs_s、_wcstombs_s_l

将宽字节字符序列转换为对应的对字节字符序列。

不适用

wctomb_s、_wctomb_s_l

将一个宽字符转换为相应的多字节字符

不适用

请参见

参考

CRT 库功能