读取C中的重音字符

时间:2016-09-27 01:29:55

标签: c

我需要阅读包含重音字母的文本文件,例如'ã'和'é' 我已设法用此代码读取正常字母

while (cha != EOF)
{
    ch = malloc(50*sizeof(char));
    cha = tolower(getchar());
    int i = 0;  
    while(((cha > 64) && (cha <91)) || ((cha > 96) && (cha <123)))
    {
        ch[i] = cha;
        i++;
        putchar(cha);
        printf("\n");
        cha = tolower(getchar());
    };
}

我仍然需要阅读带重音的字母

1 个答案:

答案 0 :(得分:0)

因为UTF8字符是多字节项目,

发布的代码应该使用:

 getwchar() rather than getchar()
 putwchar() rather than putchar() 
 towlower() rather than tolower()
 sizeof(wchar) rather than sizeof(char)