std::ifstream ifs; // ファイル読み取り用ストリーム
ifs.open("data_height.csv"); // ファイルオープン
if(ifs.fail()){ // ファイルオープンに失敗したらそこで終了
std::cerr << "ファイルを開けません\n";
exit(1);
}
char buf[256]; // データ一時保管用配列
int linenum = 0; // データの行数を数える
while(ifs.getline(buf,sizeof(buf))){ // ファイルから1行ずつ読み込む
linenum++; // 行数をカウントしている
}
std::cerr << "読み込んだ行数 = " << linenum << "\n";
ifs.clear(); // ファイル末尾に到達というフラグをクリア
ifs.seekg(0, std::ios::beg); // ファイル先頭に戻る
double *arr;
arr = new double[linenum]; // 行数 linenum 分の配列を動的に確保
for(int i=0 ; i<linenum ; i++){
ifs.getline(buf,sizeof(buf)); // 一行読み込んで…
arr[i] = atof(buf); // それを配列に格納
}
// これで、arr[0]~arr[linenum-1] に計 linenum 個のデータが格納された
// この配列を操作する演習に答えよ。
|