0

你怎样才能让程序只从 .txt 文件中读取字符串中的数字?这样您就可以存储它们并将它们用于以后的转换。

如果只有数字,我想我知道该怎么做,比如如果你有一个包含“0.3 0.4”的文件:

fscanf(fp, "%f %f\n", &x, &y);

或者,如果它是每行中始终相同的字符串。例如,在一个文件中,有几行像这样:“sin(0.348889)=0.341854”。然后要读取数字,您只需执行以下操作:

fscanf(fp, "sin(%f)=%f\n", &x, &y);

但是,当字符串并不总是相同时,你怎么做呢?如何从该文件中读取某些数字?我知道这问得太多了,但是阅读这本书对我没有帮助,而且我已经尝试在互联网上搜索,所以我决定试一试。

4

1 回答 1

0

您可以通过读取字符来跳过字符串中的数字。像这样的东西:

int n;
float number;
errno = 0;
while (!errno) {
    n = fscanf(fp, "%f", &number);
    if (n == 1) {
        /* do something with number */
    } else {
        char c;
        n = fscanf(fp, "%c", &c);
        if (n != 1) { /* EOF */
            break;
        }
    }
}
于 2013-11-03T20:02:44.170 回答