C++を用いて配列を含む、パラメータが保存されたテキストファイルを読み込む処理を行いたいと思っています。
具体的には、例えば以下のようなファイル
#Setting parameters #Set Value1 Value1 = 1 #Set Value2 Value2 = 2.0 #Set Value3 Value3 = 3.0 #Set Array1 Array1 = 1.0 2.0 3.0 #Set Array2 Array2 = 4.0 5.0 6.0
のようなファイルが有ったときに, #のあるコメント行は読み飛ばして, intやdouble型の数値Value1,Value2,Value3と配列Array1,Array2を読み込めるようにしたいと思っています。
色々検索していて見つかった方法の一つとして, 配列がなく一つの行に一つの数値があるだけならば
f = fopen("parameter.txt", "r"); while(fgets(line, 256, f) != NULL){ if((line[0] == '#') || (!strcmp(line, "\n"))) ; else{ sscanf(line, "%s %s %s\n", &name, &equal, &value); if((!strcmp(name, "Value1")) .....
のようにして各行読んでwhileやifを使えばコメントの読み飛ばしやValue1やValue2の識別も可能だと思うのですが, Array1のように空白などのセパレータでわけられた複数の数値を配列として一括に読み込む機能をどうつければ良いのかわからず困っております。また, Array1に入る数値の個数も不明な状態で実行できるようにしたいと思っています。
何か, 良い方法はあるでしょうか。お知恵を貸していただければと思います。
よろしくお願いいたします。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/10/25 16:57