Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All
Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here.

Security-Enhanced Versions of CRT Functions

More secure versions of run-time library routines are available since Visual C++ 2005. For further information concerning Security Enhancements in the CRT, see Security Enhancements in the CRT.

Secure Functions

Function

Use

.NET Framework equivalent

_access_s, _waccess_s

Determine file-access permission

Not applicable. To call the standard C function, use PInvoke. For more information, see Platform Invoke Examples.

_malloca

Allocates memory on the stack

Not applicable

asctime_s, _wasctime_s

Convert time from type struct tm to character string

System::DateTime::ToLongDateString, System::DateTime::ToLongTimeString, System::DateTime::ToShortDateString, System::DateTime::ToShortTimeString, System::DateTime::ToString

bsearch_s

Performs a binary search of a sorted array

BinarySearch

_cgets_s, _cgetws_s

Get a character string from the console

Not applicable

_chsize_s

Changes the size of a file

clearerr_s

Resets the error indicator for a stream

  • Not applicable

_controlfp_s

Get and set the floating-point control word

  • Not applicable

_cprintf_s, _cprintf_s_l, _cwprintf_s, _cwprintf_s_l

Formats and prints to the console

  • Not applicable

_cscanf_s, _cscanf_s_l, _cwscanf_s, _cwscanf_s_l

Reads formatted data from the console

  • Not applicable

_ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s

Convert time from type time_t, __time32_t or __time64_t to character string

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

_ecvt_s

Converts a double number to a string

System::Convert::ToString

_fcvt_s

Converts a floating-point number to a string

ToString

fopen_s, _wfopen_s

Open a file

fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l

Print formatted data to a stream

System::IO::StreamWriter::Write

freopen_s, _wfreopen_s

Reassign a file pointer

fscanf_s, _fscanf_s_l, fwscanf_s, _fwscanf_s_l

Read formatted data from a stream

_ftime_s, _ftime32_s, _ftime64_s

Get the current time

System::DateTime::Now

_gcvt_s

Converts a floating-point value to a string, which it stores in a buffer

ToString

getenv_s, _wgetenv_s

Get a value from the current environment.

System::Environment::GetEnvironmentVariable

gets_s, _getws_s

Get a line from the stdin stream

System::Console::Read

_gmtime32_s, _gmtime64_s

Convert time from type time_t to structtm or from type __time64_t to struct tm

System::DateTime::UtcNow, System::DateTime::ToUniversalTime

_itoa_s, _i64toa_s, _ui64toa_s, _itow_s, _i64tow_s, _ui64tow_s

Convert an integer to a string

System::Convert::ToString

_lfind_s

Performs a linear search for the specified key

System::Collections::ArrayList::Contains

localtime_s, _localtime32_s, _localtime64_s

Convert time from type time_t to struct tm or from type __time64_t to struct tmwith local correction

System::DateTime::ToLocalTime

_lsearch_s

Performs a linear search for a value; adds to end of list if not found

Not applicable

_ltoa_s, _ltow_s

Convert a long integer to a string

System::Convert::ToString

_makepath_s, _wmakepath_s

Create a path name from components

System::IO::File::Create

_mbccpy_s, _mbccpy_s_l

Copies a multibyte character from one string to another string

Not applicable

_mbsnbcat_s, _mbsnbcat_s_l

Appends, at most, the first n bytes of one multibyte character string to another

Not applicable

_mbsnbcpy_s, _mbsnbcpy_s_l

Copies n bytes of a string to a destination string

Not applicable

mbsrtowcs_s

Converts a multibyte character string to a corresponding wide characters string

Not applicable

mbstowcs_s, _mbstowcs_s_l

Converts a sequence of multibyte characters to a corresponding sequence of wide characters

Not applicable

memcpy_s, wmemcpy_s

Copies characters between buffers

Not applicable

memmove_s, wmemmove_s

Moves one buffer to another

Not applicable

_mktemp_s, _wmktemp_s

Create a unique filename

Not applicable

printf_s, _printf_s_l, wprintf_s, _wprintf_s_l

Print formatted output to the standard output stream

_putenv_s, _wputenv_s

Create, modify, or remove environment variables

  • Not applicable

qsort_s

Performs a quick sort

System::Collections::ArrayList::Sort

rand_s

Generates a pseudorandom number

System::Random Class

scanf_s, _scanf_s_l, wscanf_s, _wscanf_s_l

Read formatted data from the standard input stream

System::Console::Read, System::Console::ReadLine, see also Parse methods, such as System::Double::Parse

_searchenv_s, _wsearchenv_s

Search for a file using environment paths

Not applicable

_snprintf_s, _snprintf_s_l, _snwprintf_s, _snwprintf_s_l

Write formatted data to a string

Not applicable

_snscanf_s, _snscanf_s_l, _snwscanf_s, _snwscanf_s_l

Read formatted data of a specified length from a string.

Not applicable

_sopen_s, _wsopen_s

Open a file for sharing

Not applicable

_splitpath_s, _wsplitpath_s

Break a path name into components

Not applicable

sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l

Write formatted data to a string

System::String::Format

sscanf_s, _sscanf_s_l, swscanf_s, _swscanf_s_l

Read formatted data from a string

See Parse methods, such as System::Double::Parse

strcat_s, wcscat_s, _mbscat_s

Append a string

System::String::Concat

strcpy_s, wcscpy_s, _mbscpy_s

Copy a string

System::String::Copy

_strdate_s, _wstrdate_s

Return current system date as string

System::DateTime::Parse

strerror_s, _strerror_s, _wcserror_s, __wcserror_s

Get a system error message (strerror, _wcserror) or prints a user-supplied error message (_strerror, __wcserror)

System::Exception::Message

_strlwr_s, _strlwr_s_l, _mbslwr_s, _mbslwr_s_l, _wcslwr_s, _wcslwr_s_l

Convert a string to lowercase

System::String::ToLower

strncat_s, _strncat_s_l, wcsncat_s, _wcsncat_s_l, _mbsncat_s, _mbsncat_s_l

Append characters to a string

System::String::Concat

strncpy_s, _strncpy_s_l, wcsncpy_s, _wcsncpy_s_l, _mbsncpy_s, _mbsncpy_s_l

Copy characters of one string to another

System::String::Copy

_strtime_s, _wstrtime_s

Return current system time as string

System::DateTime::ToLongDateString, System::DateTime::ToLongTimeString, System::DateTime::ToShortDateString, System::DateTime::ToShortTimeString, System::DateTime::ToString

strtok_s, _strtok_s_l, wcstok_s, _wcstok_s_l, _mbstok_s, _mbstok_s_l

Find the next token in a string, using the current locale or a locale passed in

Not applicable

_strupr_s, _strupr_s_l, _mbsupr_s, _mbsupr_s_l, _wcsupr_s, _wcsupr_s_l

Convert a string to uppercase

System::String::ToUpper

tmpfile_s

Creates a temporary file

Not applicable

tmpnam_s, _wtmpnam_s

Generate names you can use to create temporary files

Not applicable

_ultoa_s, _ultow_s

Convert an unsigned long integer to a string

System::Convert::ToString

_umask_s

Sets the default file-permission mask

System::IO::File::SetAttributes

_vcprintf_s, _vcprintf_s_l, _vcwprintf_s, _vcwprintf_s_l

Write formatted output to the console using a pointer to a list of arguments

System::Console::Write

vfprintf_s, _vfprintf_s_l, vfwprintf_s, _vfwprintf_s_l

Write formatted output using a pointer to a list of arguments

Not applicable

vprintf_s, _vprintf_s_l, vwprintf_s, _vwprintf_s_l

Write formatted output using a pointer to a list of arguments

System::Console::Write

vsnprintf_s, _vsnprintf_s, _vsnprintf_s_l, _vsnwprintf_s, _vsnwprintf_s_l

Write formatted output using a pointer to a list of arguments

Not applicable

vsprintf_s, _vsprintf_s_l, vswprintf_s, _vswprintf_s_l

Write formatted output using a pointer to a list of arguments

System::String::Format

wcrtomb_s

Convert a wide character into its multibyte character representation

Not applicable

wcsrtombs_s

Convert a wide character string to its multibyte character string representation

Not applicable

wcstombs_s, _wcstombs_s_l

Converts a sequence of wide characters to a corresponding sequence of multibyte characters

Not applicable

wctomb_s, _wctomb_s_l

Converts a wide character to the corresponding multibyte character

Not applicable

Community Additions

ADD
Show:
© 2015 Microsoft