C言語関係掲示板

過去ログ

No.599.値:N = 10.0125から10.0125を取り出したい

[戻る] [ホームページ]
No.5736

文字列からの数値の取り出し
投稿者---ゴーヤーマン(2003/04/09 22:53:44)


テキストファイルの文字列を読み込んで、その中に含まれる値を
取り出すプログラムを書いたのですが、うまく数値を表示できません。
どうしたらいいか、教えて下さい。ちなみに、テキストファイルには、

値:N = 10.0125

と書かれており、10.0125を取り出したいのです。
-----------------------
double a;
char temp[50];
FILE *fp
 …
 fgets(temp,50,fp);
 sscanf(temp,"%f",&a);
 printf("a = %f\n",a);
 …



No.5741

Re:文字列からの数値の取り出し
投稿者---かずま(2003/04/10 11:52:02)


    sscanf(temp, " N =%lf", &a);
    sscanf(temp, "%*[^=]=%lf", &a);
    sscanf(temp, "%*[^0123456789]%lf", &a);
・0個以上の空白、N、0個以上の空白、= を読み飛ばし、double の値を読み込む。
・連続する 1個以上の「=以外の文字」と = を読み飛ばし、double の値を読み込む。
・連続する 1個以上の「数字以外の文字」を読み飛ばし、double の値を読み込む。