我一直在尝试解决扩展 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 函数逐个字符地收集。问题是程序却丢弃了重音字母í、ç、ê、ô等项目,所以你不应该花太多的钱。
有没有人有在解释的条件下运行的推荐或示例程序?