プログラムに数値を読み込ませるため数値を抽出したいのですが、初心者でありわかりませんでした。
調べてみると数値のみ抽出は可能なようなのですが、以下のような抽出は可能でしょうか?
(351.0,242.0)=33847 (347.9,241.7)= 0
(251.0,126.0)=30682 ( -1.0, -1.0)= -5
(409.0,247.0)=30336 (405.9,246.5)= 0
・
・
・
このうち1行目ならば
351.0 242.0 347.9 241.7
のようにかっこの中のみ(カンマ含まず)抽出させたいです。
ご存じの方よろしくお願いいたします。
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;
}
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;
}
No.1
- 回答日時:
いろんな方法がありますが、ひとまずは scanf / sscanf / fscanf のマニュアルをよく読んでください。
(特に「書式」のところ)皆様回答ありがとうございました。
当方へたれ理工でして…皆様の助言でかすかな知識をくっつけることができました。
勉強を促しご丁寧に回答まで付けてくださったhiroshi09sをベストアンサーに選ばせて頂きましたが、
皆様に感謝感謝です。
就活でSEしか通らなかったら死にそうです。そのときはまた質問させて頂くかもしれませんw
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語初心者 構造体 課題について 1 2023/03/10 19:30
- Excel(エクセル) 日付以外のデータを抽出したいのですが、 6 2023/06/27 13:32
- Excel(エクセル) シート参照を含む数式を連続コピー 3 2022/12/10 11:42
- Excel(エクセル) 複数セルデータを別シートの単一セルにコピーしたい。(詳細をご参照ください) 1 2022/12/14 15:08
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Excel(エクセル) Excelについて質問です。 シート1の検索値例えば *ABC* をシート2.3.4から検索して、シ 5 2023/02/17 23:30
- Excel(エクセル) エクセルで書式設定とフィルタの組み合わせでうまく行かないのですが 4 2022/10/07 10:02
- Excel(エクセル) 【詳しい方教えて下さい】EXCEL条件に一致する値の複数抽出 9 2022/04/29 10:56
- Visual Basic(VBA) Sheet3から2つの条件でオートフィルターで抽出した個数をSheet2へ入力するマクロで、一つ目の 4 2023/01/12 23:40
- Visual Basic(VBA) A2セルの値が「100021_りんご01青森県」からInStrで「りんご」を抽出したい。 セルの値が 5 2022/08/15 09:42
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エラーがわかりません、、
-
ファイルへの書込み処理が異常...
-
c言語 ファイルから数字を読み...
-
ファイルに行番号を追加
-
c言語でのfscanfについて
-
ガンマ変換 C言語でプログラ...
-
ファイルの特定行の抽出
-
ファイル読み込み EOF 判定
-
Cで文字列の分割
-
2÷3などの余りについて
-
C言語で%を使わない余りの出し方
-
比較回数と交換回数表示について
-
信頼区間の1.96や1.65ってどこ...
-
nCmの関数
-
複数桁10進数の*桁目だけを抽出...
-
Notepad++の関数リスト表示の変...
-
C言語のfor文です。 繰り返しの...
-
break文でループを一気に抜ける...
-
正負を反転させて出力するプロ...
-
#define _CRT_SECURE_NO_WARNIN...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
c言語でのfscanfについて
-
C言語でファイル読み書きを早く...
-
fopenでファイル名に、変数を使...
-
複数ファイルの同時読み込みの...
-
fgets( ) の返り値は何?
-
テキストファイル内に対して, ...
-
ファイルへの書込み処理が異常...
-
C言語にてXMLファイルから任意...
-
ファイル出力で改行を入れたい!
-
C言語でセグメンテーションエ...
-
エラーがわかりません、、
-
ガンマ変換 C言語でプログラ...
-
自己相関関数を求めるプログラ...
-
VisualStudioでのファイルの入...
-
同時にファイル読み込み 書き込み
-
c言語 ファイルから数字を読み...
-
大量の入力ファイルを扱うとき...
-
ファイルが読み込めない・・・
-
【C言語】ファイルを読み込んで...
-
a*(1-exp(-bx))+cの近似の方法
おすすめ情報