Contents
표준 함수
분류 | 함수 |
입출력 함수 | printf, scanf, gets, puts, getch, putch |
수학 함수 | sin, cos, tan, pow, floor, ceil, hypot |
문자열 함수 | strcpy, strlen, strcat, strstr, strchr |
시간 함수 | time, asctime, clock |
파일 입출력 함수 | fopen, fclose, fseek, fread, fwrite |
프로그램 제어 | exit, abort, system |
메모리 할당 | malloc, free, realloc, calloc |
기타 | rand, delay |
이외에도 많이 있으며 항상 레퍼런스 문서를 참고하는 습관을 가져야 한다.
삼각 함수
sin, cos, tan, asin, acos, atan, sinh, cosh, tanh
double을 받고 double을 리턴한다. 인수는 radian이다.
지수 함수
sqrt,pow,log,log10,exp,hypot
hypot은 직삼각형의 사변 길이를 나타낸다. 모두 double을 받고 double을 리턴한다.
정수화 함수
floor, ceil
내림과 올림을 담당한다. double을 받고 double을 리턴한다.
절대값 함수
abs, labs, fabs
각각 int, long, double에 대해 절대값을 같은 형식으로 리턴한다.
난수 함수
rand, srand
rand는 무작위 정수값을 생성한다. srand는 난수 발생 seed를 unsigned int로 받아 설정한다.
시간 함수
1 2 3 4 5 6 7 8 9 10 11 12 |
/* 1970년 1월 1일 자정 이후 시간을 초로 반환. 최대 2038년 1월 18일까지의 날짜를 표현할 수 있다. 64비트 버전인 _time64함수는 3000년 12월 31일까지 표현 가능하다.*/ time_t time( time_t *timer ); /* 문자열 형태로 time_t형의 경과초를 문자열로 바꾸어준다. 로케일의 서머타임도 적용하기도 한다. */ char *ctime( const time_t *timer ); // 각각 MM/DD/YY로 날짜를, HH:MM:SS로 시간을 버퍼에 복사한다. char *_strdate(char *datestr); char *_strtime(char *timestr); |
시간 구조체
1 2 3 4 5 6 7 8 |
// 세계 표준시로 time_t를 tm구조체로 변환 struct tm *gmtime(const time_t *timer); // 로컬 시각으로 time_t를 tm구조체로 변환 struct tm *localtime(const time_t *timer); // tm 구조체를 time_t로 변환 time_t mktime(struct tm *timeptr) |
;
tm 구조체
멤버 | 설명 |
tm_sec | 초(0~59) |
tm_min | 분(0~59) |
tm_hour | 시간(0~23) |
tm_mday | 날짜(1~31) |
tm_mon | 월(0~11) |
tm_year | 1990년 이후 경과 년수 |
tm_wday | 요일(0~6). 0이 일요일 |
tm_yday | 년중 날짜(0~365) |
tm_isdst | 일광 절약 시간과의 차 |
1 2 3 4 5 |
// tm 구조체를 영어로 출력 char *asctime(const struct tm *timeptr); // 포매터에 맞춰 문자열로 변환 size_t strftime(char *strDest, size_t maxsize, const char *format, const struct tm *timeptr); |
경과된 시간
1 2 |
// 실행 후의 경과 시간은 밀리세컨드이므로 1000으로 나눠 반환. clock_t clock( void ); |
정밀한 시간 계산은 되지 않아 별 쓸모는 없다.