2017-10-15 22 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 (버프, 20을 사용하여 "% Y- % M- % D % H : %의 M : %의 S!",의 현지 (&now)); – user2636662

+0

이 max' 매개 변수 STRFTIME하는'누락, –

+0

가 대단히 감사합니다 :) – user2636662