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 に答える