如何从C中的.txt文件中读取数字

时间:2013-11-03 19:51:16

标签: c arrays string integer

如何使程序只读取.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);

但是当你的琴弦并不总是一样的时候你怎么做呢?如何读取该文件中的某些数字?我知道这个问题太多了,但读这本书并没有帮助我,我已经尝试在网上搜索,所以我决定拍摄..

1 个答案:

答案 0 :(得分: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;
        }
    }
}