● 윈도우즈형과 ANSI 표준형의 비교 및 설명
| 윈도우즈(windows) | ANSI | 설명 | 
| BOOL | bool | TRUE/FALSE 변수 | 
| BYTE | signed char | 8비트 변수 | 
| DWORD | unsigned long | 32비트 정수형 변수 | 
| DWORD_PTR | unsigned long | 32비트 정수형 포인터 변수 | 
| FLOAT | float | 32비트 실수형 변수 | 
| INT | int | 32비트 정수형 변수 | 
| INT32 | int | 32비트 정수형 변수 | 
| INT64 | _int64 | 64비트 정수형 변수 | 
| CHAR | char | 8비트 변수 | 
| LPCSTR | const char* | 8비트 문자열 변수 | 
| LPCTSTR | char* 또는 wchar* | MultiByte,Unicode에 따라 달라짐 | 
| VOID | void |    | 
- LPCTSTR은 CONST TCHAR*를 의미 합니다.
● 32bit 환경에서의 데이터형에 따른 바이트 크기
| 데이터형 | 크기 | 설명 | 
| INT | 4 바이트 |    | 
| INT32 | 4 바이트 |    | 
| INT64 | 8 바이트 | 64bit INT형으로 8바이트 크기 | 
| FLOAT | 4 바이트 |    | 
| DOUBLE | 8 바이트 |    | 
| BYTE | 1 바이트 |    | 
| CHAR | 1 바이트 |    | 
| WCHAR | 2 바이트 | Unicode를 표현하기 위한 데이터형 | 
| DWORD | 4 바이트 |    | 
| USHOT | 2 바이트 | 16bit 만큼의 숫자를 표현할 수 있음 | 
| SHORT | 2 바이트 |    | 
● 윈도우즈 함수와 ANSI 함수의 비교 및 설명 (대표적 함수)
| 윈도우즈(Windows) | ANSI | 설명 | 
| FillMemory | memset | 정해진 크기의 메모리에 데이터를 채울 때 사용 | 
| ZeroMemory | memset | 정해진 크기의 메모리를 0으로 초기화할 때 사용 | 
| CopyMemory | memcpy | 정해진 크기의 메모리를 복사할 때 사용 | 
| MoveMemory | memmove | 정해진 크기의 메모리를 이동할 때 사용 | 
[함수 원형]
| VOID FillMemory(PVOID Destination, SIZE_T Length, BYTE Fill) | |
| PVOID Destination SIZE_T Length BYTE Fill | 값을 채울 메모리입니다. 값을 채울 크기입니다. 채울 1바이트 값입니다. | 
| VOID ZeroMemory(PVOID Destination, SIZE_T Length) | |
| PVOID Destination SIZE_T Length | 초기화할 메모리입니다. 초기화할 크기입니다. | 
| VOID CopyMemory(PVOID Destination, CONST VOID* Source, SIZE_T Length) | |
| PVOID Destination CONST VOID* Source SIZE_T Length | 복사를 해 넣을 메모리입니다. 복사할 원본 메모리입니다. 복사할 크기입니다. | 
| VOID MoveMemory(PVOID Destination, CONST VOID* Source, SIZE_T Length) | |
| PVOID Destination CONST VOID* Source SIZE_T Length | 옮겨 넣을 메모리입니다. 옮길 원본 메모리입니다. 옮길 크기입니다. | 
● TCHAR 사용에 따른 문자열 함수
| TCHAR | CHAR | 설명 | 
| _tcscpy | strcpy | 문자열을 복사할 때 사용 | 
| _tcsncpy | strncpy | 문자열을 정해진 길이만큼 복사한다 | 
| _tcscmp | strcmp | 문자열을 비교 한다 | 
| _tprintf | printf | 화면에 문자열을 출력 한다 | 
| _stprintf | sprintf | 정해진 버퍼에 정해진 형식의 문자열을 입력 | 
| _sntprintf | snprintf | 정해진 버퍼에 정해진 길이만큼 정해진 형식의 문자열을 입력 | 
[함수 원형]
| TCHAR* _tcscpy(TCHAR *strDestination, CONST TCHAR *strSource) | |
| RETURN TCHAR *strDestination CONST TCHAR *strSource | strDestination의 포인터 문자열을 복사해 넣을 메모리 원본 문자열 | 
| TCHAR* _tcsncpy(TCHAR *strDestination, CONST TCHAR *strSource, SIZE_T count) | |
| RETURNT CHAR *strDestination CONST TCHAR *strSource SIZE_T count | strDestination의 포인터 문자열을 복사해 넣을 메모리 원본 문자열 복사해 넣을 문자열의 길이 | 
| INT _tcscmp(CONST TCHAR *string1, CONST TCHAR *string2) | |
| RETURNT CONST TCHAR *string1 CONST TCHAR *string2 | 0일 경우 같고 0이 아닐 경우 같지 않은 문자열 비교할 문자열 1 비교할 문자열 2 | 
| INT _tprintf(CONST TCHAR *format, [argument]) | |
| RETURNT CONST TCHAR *format | 출력된 문자열의 개수 포맷 문자열 | 
| INT _stprintf(TCHAR *buffer, CONST TCHAR *format, [argument]) | |
| RETURNT TCHAR *buffer CONST TCHAR *format | 출력된 문자열의 개수 문자열을 입력할 메모리 포맷 문자열 | 
| INT _sntprintf(TCHAR *buffer, SIZE_T count, CONST TCHAR *format, [argument]) | |
| RETURNT TCHAR *buffer SIZE_T count CONST TCHAR *format | 출력된 문자열의 개수 문자열을 입력할 메모리 입력할 문자열의 개수 포맷 문자열 | 
 
댓글 없음:
댓글 쓰기