목록c++ (2)
삶 가운데 남긴 기록 AACII.TISTORY.COM

MFC 문자열 처리 c언어와 c++ 에서는 string이라는 자료구조를 컴파일러 차원에서 지원하고 있지 않습니다. (가장 많이 쓰는 자료구조형임에도 불구하고 옛날 언어라...) 그래서 c/c++에서는 string을 char 의 배열에 끝에 널문자(\0)를 넣어 포인터로 관리합니다. Windows 에서는 이런 string처리를 위해 char* 를 대신해 LPSTR, LPCSTR, LPTSTR, LPCTSTR , LPWSTR, LPCWSTR 같은 자료형을 지원하고 있습니다. (안그래도 불편한데 더 불편하게 만들었습니다. 헝가리안 표기법의 유산이지요.) 그래서 이 암호같은 약자들의 뜻을 알아보도록 하겠습니다. LP는 long pointer 16bit 시절 포인터는 모두 16bit였고 24bit 메모리를 lon..

string class Header string s, s1, s2, s3; .assign(): 문자열 할당 //인수로 지정된 문자열을 할당 s1.assign("ABCDEFGH"); //s1="ABCDEFGH" //문자를 특정 개수 만큼 문자열에 할당 s2.assign(3, 'A'); //s2 = "AAA" //문자열의 지정된 인덱스 부터 특정 개수를 복사해서 할당 s3.assign(s1, 2, 4) //s3 = "CDEF" .append(): 문자열 추가 //기존 문자열 뒤에 추가 s.append("ABCDEF"); //s = "ABCDEF" //문자를 특정 개수 만큼 기존 문자열 뒤에 추가 s.append(3,'a'); //s = "ABCDEFaaa" //문자열의 지정된 인덱스 부터 특정 개수를 복사해..