2017-10-15 23 views
1

私は、cプログラムを使ってpcapファイルからパケットを読み込み、各パケットのタイムスタンプを表示しようとしています。pcapファイルから読み取ったパケットのタイムスタンプを印刷するには?

私はタイムスタンプを印刷するには、コードの以下の行を使用しています:

printf("%s,",ctime((const time_t*)&header->ts.tv_sec)); 

そして、私の出力は以下の通りです:

Mon Jan 14 09:48:18 2013 

私はYYYY-MM-DD HHとしてそれを得るにはどうすればよいです:MM:SS以下のように?

2016-02-16 13:14:33.224487 

私はプログラミングの新人であり、何をしているのかわかりません。助けてください。 ありがとう!

+1

2013(一番上<time.h>が含まれますか)? ;-) – alk

答えて

2

localtime()strftime()をご覧ください。

#define MYDATE_STR_MAX (<large enough> + 1) 

... 

    struct tm lt = localtime(header->ts.tv_sec); 
    char st[MYDATE_STR_MAX]; 
    strftime(st, MYDATE_STR_MAX, <format specifier as per man-page here>, lt); 
    /* use st here */ 

本当に、

+0

それは働いた。私はstrftimeを使用しました – user2636662

+0

strftimeへの ' AnttiHaapala:うん... - 修正されました。 –

+0

ありがとうございました!:) – user2636662

関連する問題