• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:数値のみ抽出(C言語))

C言語で数値のみ抽出する方法

このQ&Aのポイント
  • C言語で数値のみ抽出する方法を知りたい。
  • 数値のみ抽出は可能なようだが、具体的な方法がわからない。
  • プログラムに数値を読み込ませるために、数値のみ抽出したい。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

失礼 m(_ _)m テレビ見ながら回答書いていたら、間違えて回答をクリックしてしまいました。 /* data.txt ファイルを読み込み buff[]の内容を左詰めでまとめる1回答例 ----- 実行結果 ----- 351.0 242.0 347.9 241.7 251.0 126.0 -1.0 -1.0 409.0 247.0 405.9 246.5 */ #include <stdio.h> char *str_token(char *); int main(void) { FILE *fp; char buff[128]; if((fp=fopen("data.txt","r"))!=NULL){ while(fgets(buff, 128, fp)!=NULL){ printf("%s\n", str_token(buff)); } fclose(fp); } return 0; } char *str_token(char *p) { char *t, *remember; t = remember = p; while(*p++ != '('); while(*p != ')' ) *t++ = (*p++ != ',') ? *(p - 1) : ' '; *t++ = ' '; while(*p++ != '('); while(*p != ')' ) *t++ = (*p++ != ',') ? *(p - 1) : ' '; *t = '\0'; return remember; }

yamimimimi
質問者

お礼

ありがとうございます。

その他の回答 (4)

  • titokani
  • ベストアンサー率19% (341/1726)
回答No.5

double v1,v2,v3,v4; fscanf(fp," ( %lf , %lf ) = %*d ( %lf , %lf ) = %*d ",&v1,&v2,&v3,&v4); かな?

yamimimimi
質問者

お礼

ありがとうございます。

回答No.3

これは、初心者じゃ壁が高過ぎるんじゃないかなぁ。 とりあえず、ポインタを勉強すべし。 http://www9.plala.or.jp/sgwr-t/c/sec10-2.html /* buff[]の内容を左詰めでまとめる1回答例 ----- 実行結果 ----- 351.0 242.0 347.9 241.7 251.0 126.0 -1.0 -1.0 409.0 247.0 405.9 246.5 */ #include <stdio.h> char *str_token(char *); int main(void) { FILE *fp; char buff[128]; if((fp=fopen("yahoo6.c","r"))!=NULL){ while(fgets(buff, 128, fp)!=NULL){ printf("%s\n", str_token(buff)); } fclose(fp); } return 0; } char *str_token(char *p) { char *t, *remember; t = remember = p; while(*p++ != '('); while(*p != ')' ) *t++ = (*p++ != ',') ? *(p - 1) : ' '; *t++ = ' '; while(*p++ != '('); while(*p != ')' ) *t++ = (*p++ != ',') ? *(p - 1) : ' '; *t = '\0'; return remember; }

yamimimimi
質問者

お礼

ありがとうございます。

  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.2

ぱっと見では位置は固定のようですが、固定ですか? 固定なら簡単に取り出せますね。

yamimimimi
質問者

お礼

ありがとうございます。

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

いろんな方法がありますが、ひとまずは scanf / sscanf / fscanf のマニュアルをよく読んでください。(特に「書式」のところ)

yamimimimi
質問者

お礼

皆様回答ありがとうございました。 当方へたれ理工でして…皆様の助言でかすかな知識をくっつけることができました。 勉強を促しご丁寧に回答まで付けてくださったhiroshi09sをベストアンサーに選ばせて頂きましたが、 皆様に感謝感謝です。 就活でSEしか通らなかったら死にそうです。そのときはまた質問させて頂くかもしれませんw ありがとうございました。

関連するQ&A