早速ですが質問です。
読み込むtxt fileに
Frequencies -- 578.3447 599.0566 637.9770
のような”Frequencies --”から始まる文字列が(不定期に)何度も出現します。
”Frequencies --”の後の実数値の桁数は必ずしも上記の通りにはなっていません。
今は
double Extract(char *str)//strにはFrequencies --から始まる文字列が入っています
{
char *cut;
double energy;//文字列の数値を代入するためのものです
//文字列の確認
cut = strtok(str," ");//スペースで分断
while(cut != NULL){
cut = strtok(NULL," ");//スペース以下の数字をhitに収納
if(cut != NULL){
energy = atof(cut);//文字列であるhitを数値に変
}
}
return energy;
}
まあ、これで一応は動いているのですが、文字列を前から読んでいって、数値(実数)だけを読み込んでポインタ(配列)に収納していくような関数ってありませんでしたっけ??
または違う方法で、もっとシンプルなやりかたあるよ!っていう意見をいただきたいです。
一応調べてみたのですが、これだ!と思うものが無かったので、初心者質問で恐縮なのですが皆さんの力を借りたいと思います。
環境はMicrosoft Visual C++ 2010で、C言語を用いています。
何分初心者ですので、つまらない質問かもしれませんが回答お待ちしてます。