C/C++常用字符串处理函数:
| 功能 | ANSI版本 | UNICODE版本 | 通用版本 | 备注 |
|---|
| 转换为双精度浮点数 | atof | _wtof | _tstof | |
| 转换为整型 | atoi | _wtoi | _tstoi | |
| 转换为长整型 | atol | _wtol | _tstol | |
| 判断字符是不是数字或字母 | isalnum | iswalnum | _istalnum | |
| 判断字符是不是字母 | isalpha | iswalpha | _istAlpha | |
| 判断字符是不是ascii字符 | isascii | iswascii | istascii | |
| 判断字符是不是控制字符 | iscntrl | iswcntrl | _istcntrl | |
| 判断字符是不是数字 | isdigit | iswdigit | _istdigit | |
| 判断字符是不是可打印字符 | isgraph | iswgraph | _istgraph | 不含空格 |
| 判断字符是不是小写字符 | islower | iswlower | _istlower | |
| 判断字符是不是可打印字符 | isprint | iswprint | _istprint | 包含空格 |
| 判断字符是不是可打印字符 | ispunct | _iswpunct | _istpunct | 除字母,数字和空格外 |
| 判断字符是不是空格类字符 | isspace | iswspace | _istspace | 空格类字符指0x09~0x0D和0x20 |
| 判断字符是不是大写字母 | isupper | iswupper | _istupper | |
| 判断字符是不是16进制字符 | isxdigit | iswxdigit | _istxdigit | 16进制字符指A-F、a-f,0-9 |
| 查找字符首次出现的位置 | memchr | wmemchr | | 返回指向字符首次出现位置的指针或者NULL |
| 比较两个字符串前n个字符 | memcmp | wmemcmp | | |
| 拷贝缓冲区前n个字节 | memcpy | wmemcpy | | 源缓冲区和目标缓冲区不可重叠 |
| 拷贝缓冲区前n个字节 | memcpy_s | wmemcpy_s | | memcpy的安全版本,但源缓冲区和目标缓冲区也不可重叠 |
| 拷贝缓冲区前n个字节 | memmove | wmemmove | | 源缓冲区和目标缓冲区可重叠 |
| 拷贝缓冲区前n个字节 | memmove_s | wmemmove_s | | |
| 缓冲区前n个位置写入指定字符 | memset | wmemset | | |
| 字符串拼接 | strcat | wcscat | _tcscat | 源缓冲区和目标缓冲区不可重叠 |
| 字符串拼接 | strcat_s | wcscat_s | _tsccat_s | 源缓冲区和目标缓冲区不可重叠 |
| 查找字符首次出现位置 | strchr | wcschr | _tcschr | |
| 字符串比较 | strcmp | wcscmp | _tcscmp | 根据ascii排序来比较字符串 |
| 字符串比较 | strcoll | wcscoll | _tcscoll | 依赖于当前本地设置的LC_COLLATE类别 |
| 字符串拷贝 | strcpy | wcscpy | _tcscpy | 源字符串和目标字符串不可重叠 |
| 字符串拷贝 | strcpy_s | wcscpy_s | _tcscpy_s | strcpy 安全版本,源字符串和目标字符串不可重叠 |
| strcspn | wcscspn | _tcscspn | 返回开头不包含指定字符串内字符的字符数 |
| 获取字符串长度 | strlen | wcslen | _tcslen | |
| 字符串拼接 | strncat | wcsncat | _tcsncat | 源缓冲区和目标缓冲区不可重叠 |
| 字符串拼接 | strncat_s | wcsncat_s | _tscncat_s | 源缓冲区和目标缓冲区不可重叠 |
| 查找字符首次出现位置 | strchr | wcschr | _tcschr | |
| 字符串比较 | strcmp | wcscmp | _tcscmp | 根据ascii排序来比较字符串 |
| 字符串比较 | strcoll | wcscoll | _tcscoll | 依赖于当前本地设置的LC_COLLATE类别 |
| 字符串拷贝 | strcpy | wcscpy | _tcscpy | 源字符串和目标字符串不可重叠 |
| 字符串拷贝 | strcpy_s | wcscpy_s | _tcscpy_s | strcpy 安全版本,源字符串和目标字符串不可重叠 |
| 查找 | strcspn | wcscspn | _tcscspn | 返回开头不包含指定字符串内字符的字符数 |
| 查找 | | strpbrk | wcspbrk | _tcspbrk |
| 查找字符最后出现的位置 | strrchr | wcsrchr | _tcsrchr | |
| 查找 | strspn | wcsspn | _tcsspn | 返回第一个不包含于指定字符串内的字符的位置 |
| 查找子串 | strstr | wcsstr | _tcsstr | |
| 获取时间 | _strtime | _wstrtime | | 把当前时间拷贝到缓冲区 |
| 获取时间 | _strtime_s | _wstrtime_s | | _strtime安全版本 |
| 转换为双精度浮点数 | strtod | wcstod | _tcstod | |
| 转换为单精度浮点数 | strtof | wcstof | _tcstof | |
| 分割字符串 | strtok | wcstok | _tcstok | |
| 分割字符串 | strtok_s | wcstok_s | _tcstok_s | |
| 转换为长整型 | strtol | wcstol | _tcstol | |
| 转为小写 | tolower | towlower | _totlower | |
| 转为大写 | toupper | towupper | _totupper | |
WIN32字符串处理函数
| 功能 | ANSI版本 | UNICODE版本 | 通用 | 备注 |
|---|
| 判断字符是不是字母 | IsCharAlphaA | IsCharAlphaW | IsCharAlpha | |
| 判断字符是不是字母或数字 | IsCharAlphaNumericA | IsCharAlphaNumericW | IsCharAlphaNumeric | |
| 判断是不是小写字母 | IsCharLowerA | IsCharLowerW | IsCharLower | |
| 判断是不是大写字母 | IsCharUpperA | IsCharUpperW | IsCharUpper | |
| 字符串转为小写 | CharLowerA | CharLowerW | CharLower | |
| 字符串转为小写 | CharLowerBuffA | CharLowerBuffW | CharLowerBuff | |
| 字符串转为大写 | CharUpperA | CharUpperW | CharUpper | |
| 字符串转为大写 | CharUpperBuffA | CharUpperBuffW | CharUpperBuff | |
| 格式化字符串 | wsprintfA | wsprintfW | wsprintf | |
| 查找下一个字符 | CharNextA | CharNextW | CharNext | 可以处理同时包含单字节字符和多字节字符的字符串 |
| 查找上一个字符 | CharPrevA | CharPrevW | CharPrev | 可以处理同时包含单字节字符和多字节字符的字符串 |
| 字符串拼接 | lstrcatA | lstrcatW | lstrcat | |
| 字符串比较 | lstrcmpA | lstrcmpW | lstrcmp | 大小写敏感 |
| 字符串表 | lstrcmpiA | lstrcmpiW | lstrcmpi | 大小写不敏感 |
| 字符串拷贝 | lstrcpyA | lstrcpyW | lstrcpy | |
| 字符串拷贝 | lstrcpynA | lstrcpynW | lstrcpyn | |
| 获取字符串长度 | lstrlenA | lstrlenW | lstrlen | |
参考:
https://docs.microsoft.com/en-us/windows/win32/menurc/strings
https://docs.microsoft.com/zh-tw/cpp/c-runtime-library/reference/crt-alphabetical-function-reference?view=vs-2019