ROOTStudy

水曜日, 3月 02, 2005

Q:カンマ区切りCSVファイルのデータを読み込む

A:標準ファイル入出力ifstreamが処理してくれないため、
Cのファイル入出力を用いると楽でよい。
ファイル読み込みは頻繁に行わなければ、
オブジェクト構造との間に深刻な問題は生じない。

例:rawdata/book1.datに入力された2列のCSV形式データをグラフ表示する
{
gROOT->Reset();
#include <stdio.h>

FILE *fp;
double x[20000], y[20000];
int i;
fp = fopen("rawdata/book1.dat", "r");

for(i = 0; i<10000; i++){
fscanf(fp, "%lf,%lf\n"&x[i], &y[i]);
}
fclose(fp);

TGraph *graph = new TGraph(i, x, y);
graph->Draw("APL");

}