• ベストアンサー

ログファイルの保存方法

始めまして。C言語初心者のヨッピーと申します。 ログファイルの保存について、皆様のお力添えをいただきたく投稿しました。 使用言語:C 使用エディタ:サクラエディタ 使用OS:WINDOWS XP 知識としましては学校の授業で、C言語を習い ファイルのオープンクローズは一通りできます。 今回、行いたい作業は ある装置から、ログが送られ それを受け取りファイルに書き出す作業を行います。ファイル名はログが送られてきた時間にしたいのですが、その方法がわからないので教えて下さい。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • RAPTsong
  • ベストアンサー率42% (74/175)
回答No.1

> ファイル名はログが送られてきた時間 というのが現在時刻でいいなら、下記のサンプルコードが参考になるでしょう。 #include <stdio.h> #include <time.h> int main() { time_t long_time; struct tm* local_time; char cur_time[ 100 ]; time( &long_time ); local_time = localtime( &long_time ); sprintf( cur_time, "%02d%02d%02d.log" , local_time->tm_hour , local_time->tm_min , local_time->tm_sec ); printf( "%s", cur_time ); return 0; }

yoppy_c
質問者

お礼

早速の回答ありがとうございました。 今まで、sprintfを使った事がなかったです。 これは使える関数ですね。

その他の回答 (1)

  • kb-nike
  • ベストアンサー率36% (72/200)
回答No.2

2番煎じになりましたが: /* ファイル名に現在時刻を使う */ /* DOS 版 */ #include <stdio.h> #include <time.h> void main(void) { char tbuff[9]; char name[7]; int i, j; _strtime(tbuff); printf("tbuff: %s\n", tbuff); name[0] = tbuff[0]; name[1] = tbuff[1]; name[2] = tbuff[3]; name[3] = tbuff[4]; name[4] = tbuff[6]; name[5] = tbuff[7]; name[6] = '\0'; printf("name: %s\n", name); }

yoppy_c
質問者

お礼

回答ありがとうございます。 同じ事をしたくても、色々な方法があるんですね。 参考になりました!

関連するQ&A