티스토리 뷰
C/C++로 현재 날짜를 구하는 방법은 아래와 같습니다.
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 31 32 33 34 35 36 37 38 39 40 41 42 | #pragma warning(disable : 4996) #include <time.h> #include<windows.h> #include<stdio.h> struct date { unsigned int da_year; unsigned int da_mon; unsigned int da_day; }; void getdate(struct date *); void main() { struct date stdate; getdate(&stdate); printf("%u 년 %u 월 %u일\n", stdate.da_year, stdate.da_mon, stdate.da_day); } void getdate(struct date *p) // 원본 데이터를 변환할수 있도록 Call by pointer 기법 사용 { char temp[128]; char *cp, syear[5] = "20"; _strdate(temp); // temp char배열 안에 08/10/04(월/일/년)순으로 년월일이 문자열 상태로 저장 printf("월/일/년 : %s\n", temp); cp = strtok(temp, "/"); // temp배열의 첫번째 '/'까지 문자열를 끊어내어 cp에게 "08" 문자열의 시작주소를 리턴 p->da_mon = atoi(cp); // 끊어낸 "08"문자열을 정수형 데이터 8로 변환하여 p->da_mon에 저장 cp = strtok(NULL, "/"); // temp배열의 두번째 '/'까지 문자열를 끊어내어 cp에게 "10" 문자열의 시작주소를 리턴 p->da_day = atoi(cp); // 끊어낸 "10"문자열을 정수형 데이터 10로 변환하여 p->da_day에 저장 cp = strtok(NULL, "/"); // temp배열의 세번째 '/'까지 문자열를 끊어내려하나 '/'은 나타나지 않고 문자열이 // 끝나게 되므로 남은 문자열 전체를 리턴한다 즉, cp에게 "04" 문자열의 시작주소가 리턴한다. strcat(syear, cp); // syear내의 "20"과 cp가 가리키는 "04"을 붙여서 "2004" 문자열을 syear변수에 저장 p->da_year = atoi(syear); // syear내의 "2004" 문자열을 정수형 데이터 2004로 변환하여 p->da_year에 저장 } | cs |
출력결과
'C,C++' 카테고리의 다른 글
C/C++ : 난수 발생하기 (0) | 2016.06.09 |
---|---|
C/C++ : 현재 시간 구하기 (0) | 2016.06.09 |
C/C++ : 콘솔 환경에서 텍스트 컬러 변경 (2) | 2016.06.09 |
C++ 소켓 프로그래밍 : 클라이언트 기본 코드 (0) | 2016.05.31 |
C++ 소켓 프로그래밍 : 서버 기본 코드 (0) | 2016.05.31 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 악보
- 정렬
- 디렉터리
- 데이터베이스
- 안드로이드
- 유즈케이스
- 액터
- 티그널
- 파이썬
- 소켓
- 프로세스
- C++
- 파이썬예제
- MFC
- 파일
- C/C++
- 쓰레드
- 자료구조
- C
- 리눅스
- socket
- UML
- 소켓 프로그래밍
- 터미널
- 티라노 시그널
- Sort
- 스레드
- 라즈베리파이
- 클래스
- 클라이언트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함