반응형
C Runtime 함수
- char - TCHAR : CHAR, WCHAR
- char* - TCHAR * : CHAR*, WCHAR*
- TCHAR buffer[100] = TEXT("A STRING");
- WCHAR buffer[100] = L"A STRING";
- strlen, wcslen -> _tcslen : 길이는 문자열 변경이 없으므로 _tcslen 사용가능
- strcpy, wcscpy -> _tcscpy -> _tcscpy_s : 버퍼 오버런을 막기위해 s 함수 사용권장 (lstrcat, lstrcpy 사용 금지!)
- strcat -> _tcscat -> _tcscat_s :버퍼 오버런을 막기위해 s 함수 사용권장
- Cch(문자열 갯수)를 가져올때는 _countof
- CB(바이트 수)를 가져올때는 sizeof
- StringCchCat(Ex)
- StirngCchCopy(Ex)
- StringCchPrintf(Ex)
- malloc(characters * sizeof(TCHAR)) 의 형식으로 문자열에 대해서는 이렇게 사용한다. 아래는 편하게.
- #define chmalloc(characters) (TCHAR*)malloc(characters*sizeof(TCHAR))
- 버퍼의 크기는 바이트단위가 아닌 문자 단위로 전달함. _countof(buffer)
- WCHAR buffer[100]; 은 99개의 2byte 문자와 1개의 2byte \0 문자를 나타낸다. 따라서 100 이란 문자의 갯수를 나타냄.
- memcpy_s, memmove_s, wmemcpy_s, wmemmove_s 함수를 사용한다. 헤더파일은 CrtDefs.h
윈도우 문자열 함수
- CompareString() 첫번째 인자는 GetThreadLocale() 호출후 값을 파라미터로 넘겨줌
- CompareStringOrdinal() 은 파일명, 경로명, 레지스트리 키/값, XML요소/특성 을 비교하는데 사용함.
unicode와 ansi 문자열 변경
- MultiByteToWideChar()
- WideCharToMultiByte()
반응형