티스토리 뷰

일반 문자열과 유니코드 처리함수 비교 (C++)

일반 문자열  = "ABC"; [0]=A, [1]=B, [2]=C
유니코드 = L"ABC"; [0]=A, [1]=0, [2]=B, [3]=0,[4]=C, [5]=0 //2 바이트 씩

-------------------------------

tchar.h 을 포함 시켜야 한다.

char 형은 TCHAR 로 선언하고 TEXT("문자열")해주면 멀티바이트 프로젝트는 멀티바이트로, 유니코드는 유니코드로 각각 맞춰 자동 변환해주는 매크로 다.


문자열의 길이를 반환하는 함수          strlen()        wcslen()         _tcslen()
두 문자열을 접합하는 함수                strcat()        wcscat()         _tcscat()

문자열에서 문자를 찾는 함수             strchr()        wcschr()        _tcschr()
두 문자열을 비교하는 함수                strcmp()       wcscmp()       _tcscmp()

문자열을 복사하는 함수                    strcpy()        wcscpy()        _tcscpy()
부분 문자열을 찾는 함수                   strstr()         wcsstr()         _tcsstr()

문자열을 역순으로 저장하는 함수       strrev()        _wcsrev()       _tcsrev()

SBCS함수      MBCS함수      유니코드함수     자동매크로함수
printf()           printf()            wprintf()           _tprintf() 사용
sprint()          sprint()           swprintf()         _stprintf() 사용      sprintf_s()

_snprint()       _snprint()        _snwprintf()      _sntprintf() 사용
strcpy()         _mbscpy()       wcscpy()         _tcscpy()  사용

strncpy()       _mbsncpy()     wcsncpy()        _tcsncpy()  사용 -----strncpy() 컴파일 에러나면 strrncpy_s() 대체 -> strcpy_s(목적지 문자열, 문자열수, 소스 문자열, 문자열수-1)
strcat()          _mbscat()       wcscat()          _tcscat()  사용

strncat()         _mbsncat()     wcsncat()        _tcsncat()  사용
strcmp()         _mbscmp()     wcscmp()         _tcscmp() 사용

strncmp()      _mbsncmp()     wcsncmp()       _tcsncmp() 사용
fopen()          fopen()           _wfopen()         _tfopen()   

strstr()          _mbsstr()         wcsstr()           _tcsstr() 사용
sizeof(szBuffer)                                          sizeof(szBuffer)/sizeof(TCHAR) 사용
atol()                                   _wtol()            _ttol() 사
strtok()        _mbstok            wcstok_s     _tcstok_s 사용

 

1

2

3

4

5

6

7

8

9

10

CString str;

TCHAR m_pPush;

lstrcpy(m_pPush, str); // '\0' 까지 m_pPush 에 복사됨

// 여기서 strncpy()은 컴파일 경고 뜨며, 경고 무시하고 그냥 쓰면 '\0'는 복사 안됨.

// strncpy_s()는 컴파일 에러 남.

 

TCHAR 종목코드[6];

CString str종목코드;

strncpy_s(pstctVI->종목코드, str종목코드, sizeof(pstctVI->종목코드));

// 컴파일 경고 안뜬다.

Colored by Color Scripter

cs

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
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