C中扩展ASCII读取非英语文本的问题

时间:2014-11-02 14:49:01

标签: c readfile extended-ascii

我一直试图用扩展的ASCII修复问题。我有一个程序,它读取文本文件并提取单词。问题是文本可能是带有重音的语言。

我阅读了很多与扩展ASCII相关的问题的信息。但是,我没有提供允许我仅使用标准库来解决问题的示例或信息。

我的程序应该能够读取文本文件(程序已经执行)并删除可能包含重音的单词,将所有类型的图形分数丢弃为¿¡等。另外,我读到你应该使用unsigned char,从而能够捕获从0到256编码的任何字符。但是,实现也不适用于unsigned char。

void readFileChar(FILE* file, tDictionary *dictionary) {
    char buffer[100];
    unsigned char c;
    int index = 0;

    if (file == NULL) {
        printf("Error\n");
        exit(1);
    }

    c = fgetc(file);
    while(feof(file) == 0) {
        if ((!ispunct(c)) && (!isspace(c)) && (isalpha(c)))){
            buffer[index] = c;
            index++;
        }else{
            buffer[index] = '\0';
            if(strlen(buffer) != 0){
                printf("**************\n");
                printf("%s\n", buffer);
                index = 0;
            }
        }
        c = fgetc(file);
    }
    fclose(file);
}

我正在使用fgetc函数逐个字符地收集。问题是该程序但丢弃的项目,如重音字母í,ç,ê,ô,所以你不应该花费太多。

是否有人在推荐的条件下有推荐或示例程序?

0 个答案:

没有答案