String manipulation (CRT)

These routines operate on null-terminated single-byte character, wide-character, and multibyte-character strings. Use the buffer-manipulation routines, described in Buffer manipulation, to work with character arrays that don't end with a NULL character.

String-manipulation routines

Routine Use
strcoll, wcscoll, _mbscoll, _strcoll_l, _wcscoll_l, _mbscoll_l, _stricoll, _wcsicoll, _mbsicoll, _stricoll_l, _wcsicoll_l, _mbsicoll_l, _strncoll, _wcsncoll, _mbsncoll, _strncoll_l, _wcsncoll_l, _mbsncoll_l, _strnicoll, _wcsnicoll, _mbsnicoll, _strnicoll_l, _wcsnicoll_l, _mbsnicoll_l Compare two character strings using code page information (_mbsicoll and _mbsnicoll are case-insensitive)
_strdec, _wcsdec, _mbsdec, _mbsdec_l Move string pointer back one character
_strinc, _wcsinc, _mbsinc, _mbsinc_l Advance string pointer by one character
_mbsnbcat, _mbsnbcat_l, _mbsnbcat_s, _mbsnbcat_s_l Append, at most, first n bytes of one character string to another
_mbsnbcmp, _mbsnbcmp_l Compare first n bytes of two character strings
_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l Return number of character bytes within supplied character count
_mbsnbcpy, _mbsnbcpy_l, _mbsnbcpy_s, _mbsnbcpy_s_l Copy n bytes of string
_mbsnbicmp, _mbsnbicmp_l Compare n bytes of two character strings, ignoring case
_mbsnbset, _mbsnbset_l Set first n bytes of character string to specified character
_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l Return number of characters within supplied byte count
_strnextc, _wcsnextc, _mbsnextc, _mbsnextc_l Find next character in string
_strninc, _wcsninc, _mbsninc, _mbsninc_l Advance string pointer by n characters
_strspnp, _wcsspnp, _mbsspnp, _mbsspnp_l Return pointer to first character in given string that isn't in another given string
_scprintf, _scprintf_l, _scwprintf, _scwprintf_l Return the number of characters in a formatted string
_snscanf, _snscanf_l, _snwscanf, _snwscanf_l, _snscanf_s, _snscanf_s_l, _snwscanf_s, _snwscanf_s_l Read formatted data of a specified length from the standard input stream.
sscanf, _sscanf_l, swscanf, _swscanf_l, sscanf_s, _sscanf_s_l, swscanf_s, _swscanf_s_l Read formatted data of a specified length from the standard input stream.
sprintf, _sprintf_l, swprintf, _swprintf_l, __swprintf_l, sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l, _sprintf_p, _sprintf_p_l, _swprintf_p, _swprintf_p_l Write formatted data to a string
strcat, wcscat, _mbscat, strcat_s, wcscat_s, _mbscat_s Append one string to another
strchr, wcschr, _mbschr, _mbschr_l Find first occurrence of specified character in string
strcmp, wcscmp, _mbscmp Compare two strings
strcoll, wcscoll, _mbscoll, _strcoll_l, _wcscoll_l, _mbscoll_l, _stricoll, _wcsicoll, _mbsicoll, _stricoll_l, _wcsicoll_l, _mbsicoll_l, _strncoll, _wcsncoll, _mbsncoll, _strncoll_l, _wcsncoll_l, _mbsncoll_l, _strnicoll, _wcsnicoll, _mbsnicoll, _strnicoll_l, _wcsnicoll_l, _mbsnicoll_l Compare two strings using current locale code page information (_stricoll, _wcsicoll, _strnicoll, and _wcsnicoll are case-insensitive)
strcpy, wcscpy, _mbscpy, strcpy_s, wcscpy_s, _mbscpy_s Copy one string to another
strcspn, wcscspn, _mbscspn, _mbscspn_l Find first occurrence of character from specified character set in string
_strdup, _wcsdup, _mbsdup, _strdup_dbg, _wcsdup_dbg Duplicate string
strerror, _strerror, _wcserror, __wcserror, strerror_s, _strerror_s, _wcserror_s, __wcserror_s Map error number to message string
strftime, wcsftime, _strftime_l, _wcsftime_l Format date-and-time string
_stricmp, _wcsicmp, _mbsicmp, _stricmp_l, _wcsicmp_l, _mbsicmp_l Compare two strings without regard to case
strlen, wcslen, _mbslen, _mbslen_l, _mbstrlen, _mbstrlen_l, strnlen, strnlen_s, wcsnlen, wcsnlen_s, _mbsnlen, _mbsnlen_l, _mbstrnlen, _mbstrnlen_l Find length of string
_strlwr, _wcslwr, _mbslwr, _strlwr_l, _wcslwr_l, _mbslwr_l, _strlwr_s, _strlwr_s_l, _mbslwr_s, _mbslwr_s_l, _wcslwr_s, _wcslwr_s_l Convert string to lowercase
strncat, _strncat_l, wcsncat, _wcsncat_l, _mbsncat, _mbsncat_l, strncat_s, _strncat_s_l, wcsncat_s, _wcsncat_s_l, _mbsncat_s, _mbsncat_s_l Append characters of string
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l Compare characters of two strings
strncpy, _strncpy_l, wcsncpy, _wcsncpy_l, _mbsncpy, _mbsncpy_l, strncpy_s, _strncpy_s_l, wcsncpy_s, _wcsncpy_s_l, _mbsncpy_s, _mbsncpy_s_l Copy characters of one string to another
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l Compare characters of two strings without regard to case
_strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l Set first n characters of string to specified character
strpbrk, wcspbrk, _mbspbrk, _mbspbrk_l Find first occurrence of character from one string in another string
strrchr, wcsrchr, _mbsrchr, _mbsrchr_l Find last occurrence of given character in string
_strrev, _wcsrev, _mbsrev, _mbsrev_l Reverse string
_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l Set all characters of string to specified character
strspn, wcsspn, _mbsspn, _mbsspn_l Find first occurrence in a string of a character not found in another string
strstr, wcsstr, _mbsstr, _mbsstr_l Find first occurrence of specified string in another string
strtok, _strtok_l, wcstok, _wcstok_l, _mbstok, _mbstok_l, strtok_s, _strtok_s_l, wcstok_s, _wcstok_s_l, _mbstok_s, _mbstok_s_l Find next token in string
_strupr, _strupr_l, _mbsupr, _mbsupr_l, _wcsupr_l, _wcsupr, _strupr_s, _strupr_s_l, _mbsupr_s, _mbsupr_s_l, _wcsupr_s, _wcsupr_s_l Convert string to uppercase
strxfrm, wcsxfrm, _strxfrm_l, _wcsxfrm_l Transform string into collated form based on locale-specific information
vsprintf, _vsprintf_l, vswprintf, _vswprintf_l, __vswprintf_l, vsprintf_s, _vsprintf_s_l, vswprintf_s, _vswprintf_s_l, _vsprintf_p, _vsprintf_p_l, _vswprintf_p, _vswprintf_p_l Write formatted output using a pointer to a list of arguments
vsnprintf, _vsnprintf, _vsnprintf_l, _vsnwprintf, _vsnwprintf_l, vsnprintf_s, _vsnprintf_s, _vsnprintf_s_l, _vsnwprintf_s, _vsnwprintf_s_l Write formatted output using a pointer to a list of arguments

See also

Universal C runtime routines by category