int i = 0;
while (fscanf(input, "%c", &letter) == 1){
if(isalpha(letter)) {
if( letter != '\'' && letter != '-' ) {
text[i] = tolower(letter);
i++;
}
}
}
我正在尝试从文件中读取一段文本,然后将它们全部以小写形式输出,不带特殊字符或空格。它适用于除 ' 和 - 字符之外的所有内容。在输出上,它们看起来像上面带有 ^ 的 u 和 AE 符号...(我认为 ASCII 值 146 和 150,出于某种原因,我仍然无法用 if 逻辑捕捉。)
是 FSCANF 无法处理这些字符,还是我遗漏了什么?
最佳答案
尝试使用
while((letter = fgetc(input)) != EOF){/***/}
(如果您读取文本文件(不是二进制文件))
关于c++ - FSCANF 阅读撇号和连字符时遇到问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21740535/