2009년 10월 26일 월요일

서버 프로그래밍 기초

윈도우즈형과 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

출력된 문자열의 개수

문자열을 입력할 메모리

입력할 문자열의 개수

포맷 문자열

 

댓글 없음:

댓글 쓰기