C++の初心者です。
あるデータをプログラムで計算し、それをファイル出力したいと考えております。
その際、10秒ごとに名前を変えてファイルを新規作成し出力ということはできるのでしょうか?
たとえば、

int main(){
for(int i =0;i <10000; i++){
//cout << i << '\n';
/* ここでファイル出力をしたい */
/* 0から順に計算して改行し、出力 */
/* 最初は"hoge1.txt"に出力後、10秒ごとに"hoge2.txt"、 "hoge3..txt"と出力したい*/
/* hoge5.txtになったら終了 */
}
}

という感じです。
どなたか教えていただけませんでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (3件)

> 新規ファイルを作成するところとtime関数などがよくわからない為、



それぐらいは自分で考えてくださいね。

for (int i = 1; i <= 5; i++)
{
 char filename[] = "hoge0.txt";
 filename[4] += i;
 std::ofstream ofs(filename);
 // ここで出力
 for (std::time_t t1 = std::time(0), t2 = t1; std::difftime(t2, t1) < 10; t2 = std::time(0))
  ;
}

こんな感じでよいのでは?
    • good
    • 0

「新規ファイルを作成するところとtime関数などがよくわからない」って書いてますけど, どのくらい調べました? まさか「調べてないけどとりあえず聞いてみる」なんてことはしてないでしょうね?


「ファイルを作る」のは fstream あたり. time は C の範囲.

と書いておくけど, 「プログラムを C++ で書かなければならない理由」はどこにもないような気がする....
    • good
    • 0

> 10秒ごとに名前を変えてファイルを新規作成し出力ということはできるのでしょうか?



処理系によりますが、それほどタイマーの精度が高くなくてもよいのであれば、大抵は可能です。

time関数またはclock関数を使って計時するようにしてください。

この回答への補足

さっそくの回答ありがとうございます。
新規ファイルを作成するところとtime関数などがよくわからない為、
例として書いていただけませんでしょうか?

補足日時:2011/04/15 11:21
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング