• 締切済み

C++でファイル出力

C++の初心者です。 あるデータをプログラムで計算し、それをファイル出力したいと考えております。 その際、10秒ごとに名前を変えてファイルを新規作成し出力ということはできるのでしょうか? たとえば、 int main(){ for(int i =0;i <10000; i++){ //cout << i << '\n'; /* ここでファイル出力をしたい */ /* 0から順に計算して改行し、出力 */ /* 最初は"hoge1.txt"に出力後、10秒ごとに"hoge2.txt"、 "hoge3..txt"と出力したい*/ /* hoge5.txtになったら終了 */ } } という感じです。 どなたか教えていただけませんでしょうか?

みんなの回答

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.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))   ; } こんな感じでよいのでは?

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

「新規ファイルを作成するところとtime関数などがよくわからない」って書いてますけど, どのくらい調べました? まさか「調べてないけどとりあえず聞いてみる」なんてことはしてないでしょうね? 「ファイルを作る」のは fstream あたり. time は C の範囲. と書いておくけど, 「プログラムを C++ で書かなければならない理由」はどこにもないような気がする....

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.1

> 10秒ごとに名前を変えてファイルを新規作成し出力ということはできるのでしょうか? 処理系によりますが、それほどタイマーの精度が高くなくてもよいのであれば、大抵は可能です。 time関数またはclock関数を使って計時するようにしてください。

komattasann0111
質問者

補足

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