如何在C中使用特殊字符?

时间:2012-06-01 01:07:06

标签: c internationalization

我意识到我的程序必须能够处理日语或中文等特殊字符。但我知道内置类型char远远不够。那么如何在C程序中使用这些特殊字符呢?

4 个答案:

答案 0 :(得分: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;
}

答案 1 :(得分:4)

如果你能接受一个字节!=一个unicode字符的事实,你可以使用UTF-8编码。

答案 2 :(得分:2)

对于unicode类型语言,您可以使用wchar_t而不是char

答案 3 :(得分:2)

您需要使用wide characters

它们是你需要的Unicode,它们几乎可以与你抛出的每个字符一起工作,并且它可以做到这一点,因为 - 这就是捕获:它消耗更多的字节(两倍;它听起来很多,但在大多数情况下,它真的不是。)

注意: 在Windows编程中,您使用TEXT("")宏来选择字符是Unicode还是ANSI。它会根据你项目的设置选择 如果您坚持使用Unicode,则可以使用L字母的前缀来编写字符串,如下所示:L"Unicode String"

使用宽字符的头文件是wchar.h