Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- linux
- 김성엽
- win32
- visual
- 미가공
- Tipsware
- do it c
- 실습
- mfc 실습
- 핵심 요약
- 정처기 독학
- ListBox
- C언어
- mysql
- C
- 포트폴리오
- C++
- 정보처리기사
- MFC 예제
- MyThread
- MyTread
- tips강좌
- 별찍기
- MFC
- 마이크로소프트
- 도움말
- Time
- 유료강좌
- 충무창업큐브
- SSG
Archives
- Today
- Total
History
gettimeofday 함수 본문
728x90
반응형
#include <sys/time.h>
gettimeofday 함수는 위에 있는 헤더 파일을 선언해줘야 사용할 수 있는 Linux에서 사용하는 c 헤더이다.
이 함수는 현재 시스템 시간을 마이크로 초까지 읽어주는 함수이다.
gettimeofday의 첫 번째 인자인 tv는 현재 시스템 시간을 저장하기 위한 구조체
struct timeval
{
long tv_sec; // 초
long tv_usec; // 마이크로초
}
tv_sec는 초 단위 값이 저장되어 있고 tv_usec는 마이크로 초 단위의 값이 저장되어 있다. 여기서 1000000 마이크로 초가 1초이고 1000 마이크로 초는 1밀리 초다.
두 번째 인자인 tz은 사용되고 있지 않으며 복잡하게 생각할 필요 없이 tz은 NULL을 사용하도록 한다.
gettimeofday의 예제
#include <sys/time.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>
int main()
{
struct timeval mytime;
// 현재 시간을 얻어온다.
gettimeofday(&mytime, NULL);
printf("%ld:%ld\n", mytime.tv_sec, mytime.tv_usec);
// 시간을 1시간 뒤로 되돌려서 설정한다.
mytime.tv_sec -= 3600;
settimeofday(&mytime, NULL);
return 0;
}
time(2)
현재는 time(2)를 대신해서 쓰이고 있으며, 가능한 time(2) 대신 gettimeofday을 사용하는 것을 권장한다.
#include <time.h>
time_t time(time_t *t);
time(2) 함수는 반환하는 시간이 1970년 1월 1일 00:00:00부터 지금까지의 시간을 초단위로 환산한 것이다.
만약 아규먼트로 들어가는 t 가 NULL 이 아니라면 반환값은 t 가 가리키는 메모리에 저장된다.
time(2)의 반환값은 현재까지의 흐른 시간을 초 단위로 리턴한다. 애러가 발생할 경우 -1이 리턴된다.
time(2)의 예제
#include <time.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
void swaptime(time_t, char *);
int main()
{
int i;
time_t the_time;
char buffer[255];
// 현재 TIME 을 구한다.
time(&the_time);
printf("현재 시간은 %d 초\n", the_time);
// 보기좋은 지역시간대로 바꾼다.
swaptime(the_time, buffer);
printf("%s\n", buffer);
}
void swaptime(time_t org_time, char *time_str)
{
struct tm *tm_ptr;
tm_ptr = localtime(&org_time);
sprintf(time_str, "%d/%d/%d %d:%d:%d",
tm_ptr->tm_year+1900,
tm_ptr->tm_mon+1,
tm_ptr->tm_mday,
tm_ptr->tm_hour,
tm_ptr->tm_min,
tm_ptr->tm_sec);
}
아규먼트(argument): 함수를 이용하는 사람이 매개변수에 집어넣는 값을 의미
파라미터(parameter): 우리말로 매개변수, 함수를 구현하는 쪽과 사용하는 쪽을 매개하는 변수가 된다.
728x90
반응형
'Linux > 개념 실습 프로그래밍' 카테고리의 다른 글
usleep() 함수 (0) | 2022.03.17 |
---|
Comments