如何在C中从.txt文件中读取数字
如何使程序只从.txt文件中读取字符串中的数字?这样您就可以存储它们并在以后的转换中使用它们 我想如果只是数字,我知道怎么做,比如如果你有一个文件有“0.3 0.4”: 或者如果它是一个字符串,在每一行中总是相同的。例如,在一个文件中,有几行是这样的:“sin(0.348889)=0.341854”。然后,要阅读这些数字,您只需执行以下操作:如何在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;
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;
}
}
}