使用 fgetc() 循环时存储单独的字符

Storing separate characters while looping with fgetc()

所以我一直在尝试使用 fgetc() 逐个字符地浏览 .txt 文件。我想将第一个和第三个字符存储到两个单独的变量中。这是一个示例输入文件。在这种情况下,我想要做的是将第一个字符 (6) 存储到变量 1,将第三个字符 (7) 存储到变量 2。第二个是空格,所以我想在循环文件时跳过它。我能够获取第一个字符,但似乎无法找到跳转到第三个字符并将其存储在不同变量中的方法...

6 7
1 4 4 2 5 0 6
1 4 4 0 4 0 2
1 0 4 0 4 6 1
1 2 7 1 0 4 2
3 1 4 2 3 1 5
4 2 5 0 4 5 5

 int c;

            while((c = fgetc(r)) != '\n'){
                variable1 = c - '0';
                variable2 = ???
                }

            fclose(r);
            }

        printf("%i",variable1);
        printf("%i",variable2);

我知道你接下来可能想阅读以下带有大量数字的行,所以这里有一个通用的解决方案,可能适用于任何长度的字符串(即少于一百个数字):

int idx = 0;
char var[100];  // change to any number you need
while((c = fgetc(r)) != '\n') {
    if( c != ' ' ) {
        var[idx++] = c - '0';
    }
}

var 中,您将拥有所有号码。而 idx 将指向最后一个后面的字符。