如何使程序只读取.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);
但是当你的琴弦并不总是一样的时候你怎么做呢?如何读取该文件中的某些数字?我知道这个问题太多了,但读这本书并没有帮助我,我已经尝试在网上搜索,所以我决定拍摄..
答案 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;
}
}
}