FSCANF在Apostrophes和连字符中阅读的问题?

时间:2014-02-12 21:52:33

标签: c++ c string scanf

     int i = 0;


     while (fscanf(input, "%c", &letter) == 1){

           if(isalpha(letter)) {


           if( letter != '\'' && letter != '-' ) {                                 
           text[i] = tolower(letter);
           i++;
           }                                 

           }

}

我试图从文件中读取一个文本块,然后以全小写形式输出它们,没有特殊的字符或空格。它适用于除'和 - 字符之外的所有内容。在输出上,它们看起来像是在它上面的^和AE符号......(我认为ASCII值146和150,如果出于某种原因我仍然无法理解逻辑。)

FSCANF无法处理这些字符,还是我错过了什么?

1 个答案:

答案 0 :(得分:0)

尝试使用

while((letter = fgetc(input)) != EOF){/***/}

(如果您阅读文本文件(非二进制))

相关问题