● 윈도우즈형과 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 |
출력된 문자열의 개수 문자열을 입력할 메모리 입력할 문자열의 개수 포맷 문자열 |
댓글 없음:
댓글 쓰기