Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在C中从.txt文件中读取数字_C_Arrays_String_Integer - Fatal编程技术网

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

如何在C中从.txt文件中读取数字,c,arrays,string,integer,C,Arrays,String,Integer,如何使程序只从.txt文件中读取字符串中的数字?这样您就可以存储它们并在以后的转换中使用它们 我想如果只是数字,我知道怎么做,比如如果你有一个文件有“0.3 0.4”: 或者如果它是一个字符串,在每一行中总是相同的。例如,在一个文件中,有几行是这样的:“sin(0.348889)=0.341854”。然后,要阅读这些数字,您只需执行以下操作: fscanf(fp, "sin(%f)=%f\n", &x, &y); int n; float number; errno = 0;

如何使程序只从.txt文件中读取字符串中的数字?这样您就可以存储它们并在以后的转换中使用它们

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

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

fscanf(fp, "sin(%f)=%f\n", &x, &y);
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;
        }
    }
}

但是当字符串不总是相同的时候,你怎么做呢?如何从该文件中读取某些数字?我知道这要求太高了,但是读这本书对我没有帮助,我已经尝试过在互联网上搜索,所以我决定试试看。

你可以通过读字符跳过字符串中的数字。大概是这样的:

fscanf(fp, "sin(%f)=%f\n", &x, &y);
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;
        }
    }
}