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 do not end with a null character.
String-Manipulation Routines
| Routine | Use |
| _mbscoll, _mbsicoll, _mbsncoll, _mbsnicoll | Compare two multibyte-character strings using multibyte code page information (_mbsicoll and _mbsnicoll are case-insensitive) |
| _mbsdec, _strdec, _wcsdec | Move string pointer back one character |
| _mbsinc, _strinc, _wcsinc | Advance string pointer by one character |
| _mbslen | Get number of multibyte characters in multibyte-character string; dependent upon OEM code page |
| _mbsnbcat | Append, at most, first n bytes of one multibyte-character string to another |
| _mbsnbcmp | Compare first n bytes of two multibyte-character strings |
| _mbsnbcnt | Return number of multibyte-character bytes within supplied character count |
| _mbsnbcpy | Copy n bytes of string |
| _mbsnbicmp | Compare n bytes of two multibyte-character strings, ignoring case |
| _mbsnbset | Set first n bytes of multibyte-character string to specified character |
| _mbsnccnt | Return number of multibyte characters within supplied byte count |
| _mbsnextc, _strnextc, _wcsnextc | Find next character in string |
| _mbsninc. _strninc, _wcsninc | Advance string pointer by n characters |
| _mbsspnp, _strspnp, _wcsspnp | Return pointer to first character in given string that is not in another given string |
| _mbstrlen | Get number of multibyte characters in multibyte-character string; locale-dependent |
| sprintf, _stprintf | Write formatted data to a string |
| strcat, wcscat, _mbscat | Append one string to another |
| strchr, wcschr, _mbschr | Find first occurrence of specified character in string |
| strcmp, wcscmp, _mbscmp | Compare two strings |
| strcoll, wcscoll, _stricoll, _wcsicoll, _strncoll, _wcsncoll, _strnicoll, _wcsnicoll | Compare two strings using current locale code page information (_stricoll, _wcsicoll, _strnicoll, and _wcsnicoll are case-insensitive) |
| strcpy, wcscpy, _mbscpy | Copy one string to another |
| strcspn, wcscspn, _mbscspn, | Find first occurrence of character from specified character set in string |
| _strdup, _wcsdup, _mbsdup | Duplicate string |
| strerror | Map error number to message string |
| _strerror | Map user-defined error message to string |
| strftime, wcsftime | Format date-and-time string |
| _stricmp, _wcsicmp, _mbsicmp | Compare two strings without regard to case |
| strlen, wcslen, _mbslen, _mbstrlen | Find length of string |
| _strlwr, _wcslwr, _mbslwr | Convert string to lowercase |
| strncat, wcsncat, _mbsncat | Append characters of string |
| strncmp, wcsncmp, _mbsncmp | Compare characters of two strings |
| strncpy, wcsncpy, _mbsncpy | Copy characters of one string to another |
| _strnicmp, _wcsnicmp, _mbsnicmp | Compare characters of two strings without regard to case |
| _strnset, _wcsnset, _mbsnset | Set first n characters of string to specified character |
| strpbrk, wcspbrk, _mbspbrk | Find first occurrence of character from one string in another string |
| strrchr, wcsrchr,_mbsrchr | Find last occurrence of given character in string |
| _strrev, _wcsrev,_mbsrev | Reverse string |
| _strset, _wcsset, _mbsset | Set all characters of string to specified character |
| strspn, wcsspn, _mbsspn | Find first substring from one string in another string |
| strstr, wcsstr, _mbsstr | Find first occurrence of specified string in another string |
| strtok, wcstok, _mbstok | Find next token in string |
| _strupr, _wcsupr, _mbsupr | Convert string to uppercase |
| strxfrm, wcsxfrm | Transform string into collated form based on locale-specific information |
| vsprintf, _vstprint | Write formatted output using a pointer to a list of arguments |