VisualC++相談室 【7】
■ このスレッドは過去ログ倉庫に格納されています
0862730
NGNGこちらでおねがいしようと思います。
23┓
21┃→series一回目
24┃
22┃┓
23┃┃→series二回目
23┃┃ ・
22┃┃ ・
・
・
というようなintが改行で仕切られた3万行くらいの長〜いファイルがあり,それをalldataに開いています.
そこから100行くらいのデータを切り取って
itijidataに格納しseries(ポインタ)として解析にぶちこむ.ということをしたいのですが,解析プログラムはわけ分からないのでいじれず,
とにかくポインタで指定したseriesをいれればいいのですが,
どうやら関数の中でseriesをいじっているらしく,上記のように3つずらして次の解析に使用すると前回使用した部分のデータの内容が変ってしまっています.
どのようにする方法があるでしょうか?
いちおう考えてやって見ているのが下記のコードなんですが,
FILE *alldata;
int *series,*data;
int itijidata[200];
alldata = fopen("C:\\test.txt","r");
for(int count = 0 ; count <ファイルの最後まで; count++){
//解析を行うごとにループし・・
data = &alldata[0] + count*3*sizeof(double);
//ここで3つずらして次の解析に必要な頭出しをしてるつもり・・
for (int i=0 ;i<200 ;i++){
if (fscanf(data,"%lf",&itijidata[scandata]) == EOF )break;
//ijitidata配列に格納し・・
}
series = &itijidata[0];
〜ここでseriesを用いた解析をはさむ〜
}
質問は3つです.
◆ファイルからずらして配列に格納するにはどのような方法がありますか?
◆ずらした位置を指定して配列に格納させるようなfscanfに代わるものはありますか?
◆ファイルポインタで指定したものが変更されてしまうのですが,どのようにすればよいでしょう.
なんか混乱してきたので,多分上のプログラムはめちゃめちゃです.鬱
もうわけがわかりません.どなたかアドバイスをおねがいいらします.
■ このスレッドは過去ログ倉庫に格納されています