我意识到我的程序必须能够处理日语或中文等特殊字符。但我知道内置类型char
还远远不够。那么如何在 C 程序中使用这些特殊字符呢?
问问题
2762 次
4 回答
5
像这样在 Windows VS :)
#include <tchar.h>
typedef struct _我的结构{
int 数据;
TCHAR 字符串指针[100];
}我的结构;
int main(int argc,char** argv){
我的结构 我的变量 = {1, _T("字符串123abc")};
_tprintf(_T("%s, %d"),我的变量.字符串指针,我的变量.字符串指针);
return 0;
}
于 2012-06-01T01:24:55.887 回答
4
如果您可以接受一个字节 != 一个 unicode 字符这一事实,您可以使用 UTF-8 编码。
于 2012-06-01T01:14:10.500 回答
2
对于 unicode 类型语言,您可以使用 wchar_t 而不是 char
于 2012-06-01T01:09:57.000 回答
2
您需要使用宽字符。
它们是 Unicode 所需要的,它们几乎可以处理你扔给它的每个字符,它可以做到这一点,因为 - 这就是问题所在:它消耗更多字节(两倍;听起来很多但在大多数情况下,它真的不是)。
注意:在 Windows 编程中,您使用TEXT("")
宏来选择您的字符是 Unicode 还是 ANSI。它将根据您的项目设置进行选择。
如果您坚持使用 Unicode,您可以使用L
字母前缀编写字符串,如下所示:L"Unicode String"
使用宽字符的头文件是wchar.h
.
于 2012-06-01T01:10:17.117 回答