摘自:https://blog.csdn.net/cometnet/article/details/48498777
常用函数对照
ANSI | UNICODE | 通用 | 说明 |
数据类型 | |||
(char.h) | (wchar.h) | (tchar.h) | |
char | wchar_t | TCHAR | |
char * | wchar_t * | TCHAR* | |
LPSTR | LPWSTR | LPTSTR | |
LPCSTR | LPCWSTR | LPCTSTR | |
字符串转换 | |||
atoi | _wtoi | _ttoi | 把字符串转换成整数(int) |
atol | _wtol | _ttol | 把字符串转换成长整型数(long) |
atof | _wtof | _tstof | 把字符串转换成浮点数(double) |
itoa | _itow | _itot | 将任意类型的数字转换为字符串 |
字符串操作 | |||
strlen | wcslen | _tcslen | 获得字符串的数目 |
strcpy | wcscpy | _tcscpy | 拷贝字符串 |
strncpy | wcsncpy | _tcsncpy | 类似于strcpy/wcscpy,同时指定拷贝的数目 |
strcmp | wcscmp | _tcscmp | 比较两个字符串,区分大小写 |
stricmp | wcsicmp | _tcsicmp | 比较两个字符串,不区分大小写 |
strncmp | wcsncmp | _tcsncmp | 类似于strcmp/wcscmp,同时指定比较字符字符串的数目 |
strcat | wcscat | _tcscat | 把一个字符串接到另一个字符串的尾部 |
strncat | wcsncat | _tcsnccat | 类似于strcat/wcscat,而且指定粘接字符串的粘接长度. |
strchr | wcschr | _tcschr | 查找子字符串的第一个位置 |
strrchr | wcsrchr | _tcsrchr | 从尾部开始查找子字符串出现的第一个位置 |
strpbrk | wcspbrk | _tcspbrk | 从一字符字符串中查找另一字符串中任何一个字符第一次出现的位置 |
strstr | wcsstr/wcswcs | _tcsstr | 在一字符串中查找另一字符串第一次出现的位置 |
strcspn | wcscspn | _tcscspn | 返回不包含第二个字符串的的初始数目 |
strspn | wcsspn | _tcsspn | 返回包含第二个字符串的初始数目 |
strtok | wcstok | _tcstok | 根据标示符把字符串分解成一系列字符串 |
wcswidth | 获得宽字符串的宽度 | ||
wcwidth | 获得宽字符的宽度 | ||
字符串测试 | |||
isascii | iswascii | _istascii | 测试字符是否为ASCII 码字符, 也就是判断c 的范围是否在0 到127 之间 |
isalnum | iswalnum | _istalnum | 测试字符是否为数字或字母 |
isalpha | iswalpha | _istalpha | 测试字符是否是字母 |
iscntrl | iswcntrl | _istcntrl | 测试字符是否是控制符 |
isdigit | iswdigit | _istdigit | 测试字符是否为数字 |
isgraph | iswgraph | _istgraph | 测试字符是否是可见字符 |
islower | iswlower | _istlower | 测试字符是否是小写字符 |
isprint | iswprint | _istprint | 测试字符是否是可打印字符 |
ispunct | iswpunct | _istpunct | 测试字符是否是标点符号 |
isspace | iswspace | _istspace | 测试字符是否是空白符号 |
isupper | iswupper | _istupper | 测试字符是否是大写字符 |
isxdigit | iswxdigit | _istxdigit | 测试字符是否是十六进制的数字 |
大小写转换 | |||
tolower | towlower | _totlower | 把字符转换为小写 |
toupper | towupper | _totupper | 把字符转换为大写 |
字符比较 | |||
strcoll | wcscoll | _tcscoll | 比较字符串 |
日期和时间转换 | |||
strftime | wcsftime | _tcsftime | 根据指定的字符串格式和locale设置格式化日期和时间 |
strptime | 根据指定格式把字符串转换为时间值, 是strftime的反过程 | ||
打印和扫描字符串 | |||
printf | wprintf | _tprintf | 使用vararg参量的格式化输出到标准输出 |
fprintf | fwprintf | _ftprintf | 使用vararg参量的格式化输出 |
scanf | wscanf | _tscanf | 从标准输入的格式化读入 |
fscanf | fwscanf | _ftscanf | 格式化读入 |
sprintf | swprintf | _stprintf | 根据vararg参量表格式化成字符串 |
sscanf | swscanf | _stscanf | 以字符串作格式化读入 |
vfprintf | vfwprintf | _vftprintf | 使用stdarg参量表格式化输出到文件 |
vprintf | 使用stdarg参量表格式化输出到标准输出 | ||
vsprintf | vswprintf | _vstprintf | 格式化stdarg参量表并写到字符串 |
sprintf_s | swprintf_s | _stprintf_s | 格式化字符串 |
数字转换 | |||
strtod | wcstod | _tcstod | 把字符串的初始部分转换为双精度浮点数 |
strtol | wcstol | _tcstol | 把字符串的初始部分转换为长整数 |
strtoul | wcstoul | _tcstoul | 把字符串的初始部分转换为无符号长整数 |
_strtoi64 | _wcstoi64 | _tcstoi64 | |
输入和输出 | |||
fgetc | fgetwc | _fgettc | 从流中读入一个字符并转换为宽字符 |
fgets | fgetws | _fgetts | 从流中读入一个字符串并转换为宽字符串 |
fputc | fputwc | _fputtc | 把宽字符转换为多字节字符并且输出到标准输出 |
fputs | fputws | _fputts | 把宽字符串转换为多字节字符并且输出到标准输出串 |
getc | getwc | _gettc | 从标准输入中读取字符, 并且转换为宽字符 |
getchar | getwchar | _gettchar | 从标准输入中读取字符 |
putc | putwc | _puttc | 标准输出 |
putchar | putwchar | _puttchar | 标准输出 |
ungetc | ungetwc | _ungettc | 把一个字符放回到输入流中 |
用C函数来转换Unicode和ANSI文字
- char sChar[MAX_PATH];
- const WCHAR wChar[] = L"我的朋友";
- // 设置代码页为默认代码页
- _tsetlocale(LC_ALL,_T(""));
- // 把wChar这个Unicode字符串转换成ANSI字符串,保存到sChar,并且返回ANSI的字符串大小,如果失败,则返回-1
- wcstombs(sChar, wChar, MAX_PATH);
- // 相反的函数:mbstowcs,可以从ANSI转换到Unicode
相关推荐
今天我们将详细介绍这三种编码方式之间的转换,包括 Ansi 转 Unicode、Unicode 转 Ansi,以及使用 wprintf 函数进行字符串输出。 Ansi 字符串 Ansi 字符串是我们最熟悉的一种编码方式,英文字符占用一个字节,汉字...
此函数实现由ANSI字符串与Unicode字符串的相互转换,不要错过哦!
1数据转换:ANSI等编码、UTF8编码、UTF16编码(实际为Unicode编码)、TCHAR互转,可以先获取转换出的数据在存储时所需的大小 2字符串查找:正向查找、逆向查找、指定偏移查找 3字符串切割:正向分割、逆向分割、指定...
C语言ANSI Unicode UTF8 字符间互转函数
我们知道,C语言用char数据类型表示一个8位的ANSI字符,默认在代码中声明一个字符串时,C编译器会把字符串中的字符转换成由8位char数据类型构成的一个数组: 代码如下: // An 8-bit character char c = ‘A’; // ...
当然你可以调用函数MultiByteToWideChar进行转换,但我认为需要Unicode字符串时用宏直接定义更省事。masm32软件包中的ucmacros.asm中有两个定义Unicode字符串的宏,但却不支持汉字。此文件中的WSTR和UText两个宏弥补...
VBA 中的字符串操作 VBA 中的字符串是指在 VBA 编程中使用的文本数据类型。VBA 提供了两类字符串:固定长度的字符串和动态...VBA 中的字符串操作提供了多种函数和方法来处理字符串,可以满足不同的需求和应用场景。
如果希望函数返回ANSI字符串,系统就会首先将Unicode字符串转换成ANSI字符串,然后将结果返回给您的应用程序。进行这些字符串的转换需要占用系统的时间和内存。如果用Unicode来开发应用程序,就能够使您的应用程序...
对于 ANSI 字符串和 UNICODE 字符串,形式如下: `sizeof(cs)/sizeof(char)` `sizeof(ws)/sizeof(wchar_t)` 可以采用类似的方式,获取到其字符的数目。如果遇到 MBCS,如 "中文 ABC",很显然,这种办法就无法奏效...
ConvertUtf8ToUnicode, ...ConvertAnsiToUnicode16 ConvertUnicode16ToAnsi ConvertUnicodeToUnicode16 ConvertUnicode16ToUnicode ConvertUtf8ToUnicode16 ConvertUnicode16ToUtf8 支持windows /anrdoid /ios
char 类型的变量可以使用字符串处理函数,如 strcat、strcpy、strlen 等。 2. wchar_t 类型 wchar_t 是 Unicode 字符的数据类型,用于存储 Unicode 字符串。wchar_t 类型的变量可以存储两个字节的数据,范围为 0 ...
第一部分 程序员必读 第一章 对程序错误的处理 在我们开始介绍Microsoft Windows应该提供的许多特性之前,我们首先...关于Unicode的问题,我在本书的每一章中几乎都要讲到,而且本书中给出的所有示例应用程序都是...
2. TinyXml函数提供的Xml内容解析功能,仅支持以ANSI编码和UTF8编码的Xml字符串,也即`多字节编码`。 3. TinyXml函数提供的Xml内容解析功能,不支持内容以UTF16编码和UTF32编码的Xml字符串,也即`Unicode编码`。 4...
1、区别wchar_t,char,WCHAR ANSI:即 char,可用字符串处理函数:strcat( ),strcpy( ), strlen( )等以str打头的函数。 UNICODE:wchar_t是Unicode字符的数据...为了让编译器识别Unicode字符串,必须以在前面加一个
字符串操作函数 PrintOpen() Fill() 定时函数 PrintOval() Left() CPU() PrintPage() LeftTrim() Idle() PrintRect() Lower() Timer() PrintRoundRect() Match() PrintScreen() Mid() DDE客户函数 ...
LPSTR、LPCSTR、LPTSTR和LPCTSTR的意义及区别; ANSI和UNICODE的使用; Unicode宽字符转化; VC中的字符串类型和处理函数;
MultiByteToWideChar 是 OpenGL 的一个函数,该函数映射一个字符串到一个宽字符(unicode )的字符串。由该函数映射的字符串没必要是多字节字符组。 【知识点五:GLUT 库】 GLUT 库(OpenGL Utility Toolkit)是一...
拥有自动识别ANSI与Unicode字符串的功能。 对版本信息的解析BUG修正 ExStudPE其他一些细微BUG的修改 增加【复制节点文本】右键菜单功能 增加结构体成员偏移量显示 增加资源升级更新检查功能 ExStudPE其它...
字符串指针相关API、CLSID 生成器相关API、GDI 常量、图像格式标识符、GDI 结构体/类型、GDI 枚举、核心API、图象函数(所有)、GDI 内存管理函数 (所有)、将一个CLSID(aka GUID)字符串转化为一个结构体对象、通过一...
关于ansic 和 unicode 以及TCHAR、wchar_t、char及字符串处理函数区别(转)