我正在学习 C,我正在用 C 编写的程序的一部分是检查我的 txt 文件是否包含少于或多于 81 个值,以及所有值是否都是整数。我使用 fscanf 从文件中读取值,但它也读取空格。如何忽略空格并使其只读整数或字符?
我的代码返回 162,其中包含 81 个整数和空格。
这是txt文件:
1 2 3 4 5 6 7 8 9
2 3 4 5 6 7 8 9 1
3 4 5 6 7 8 9 1 2
4 5 6 7 8 9 1 2 3
5 6 7 8 9 1 2 3 4
6 7 8 9 1 2 3 4 5
7 8 9 1 2 3 4 5 6
8 9 1 2 3 4 5 6 7
9 1 2 3 4 5 6 7 8
#include<stdio.h>
int main() {
FILE * input_values;
input_values = fopen("text.txt","r");
if (input_values == NULL) {
fprintf(stderr, "Error! Could not open file.\n");
}
int ch, counter = 0;
ch = fscanf(input_values, "%d");
while (ch != EOF) {
counter++;
ch = fscanf(input_values, "%d");
}
printf("num %i",counter);
fclose(input_values);
}