4. CString 상용 동작
CString str;
CString str1(_T("abc"));
CString str2 = _T("defg");
TCHAR szBuf[] = _T("kkk");
CString str3(szBuf);
CString str4 = szBuf;
TCHAR *p = _T("1k2");
//TCHAR * CString
CString str5(p);
CString str6 = p;
CString str7(str1);
CString str8 = str7;
② 、 문자열 기본 동작:
● :GetLength();
CString str(_T("abc"));
int len = str.GetLength(); //len == 3
● , :IsEmpty();
● :Empty();
CString str(_T("abc"));
BOOL mEmpty = str.IsEmpty(); //mEmpty == FALSE
str.Empty();
mEmpty = str.IsEmpty(); //mEmpty == TRUE
● :MakeUpper、MakeLower
● :MakeReverse
CString str(_T("Abc"));
str.MakeUpper(); //str == ABC
str.MakeLower(); //str == abc
str.MakeReverse(); //str == cba
● :+、+=
CString str(_T("abc"));
str = _T("de") + str + _T("kp"); //str == deabckp
str += _T("123"); //str == deabckp123
TCHAR szBuf[] = _T("789");
str += szBuf; //str == deabckp123789
● :==、!=、(<、>、<=、>= )、Compare( )、CompareNoCase( )
CString str1(_T("abc"));
CString str2 = _T("aBc");
if (str1 == str2){
MessageBox(_T("str1 str2"));
}else{
MessageBox(_T("str1 str2"));
}
③ 문자열 찾기: Find, ReverseFind, FindOneOf 세 가지 함수 로 문자열 찾기 동작 을 수행 할 수 있 습 니 다 Find 지정 한 위치 에서 지정 한 문자 나 문자열 을 찾 아 그 위 치 를 되 돌려 줍 니 다. - 1 을 되 돌려 주지 못 합 니 다.예: CString str ( T ("abcdefg");int idx = str.Find(_T("cde"), 0); //idx 의 값 은 2 입 니 다.
ReverseFind 는 문자열 끝 에서 지정 한 문 자 를 찾 습 니 다. (문자열 은 지원 되 지 않 습 니 다) 그 위 치 를 되 돌려 줍 니 다. - 1 을 찾 을 수 없습니다. 뒤에서 앞으로 찾 지만 위 치 는 처음부터 계산 합 니 다.CString str(_T("abcdefg")); int idx = str.ReverseFind('e'); //idx 의 값 은 4 입 니 다.
FindOne Of 매개 변수 에서 주어진 문자열 의 임의의 문 자 를 찾 습 니 다. 처음 나타 난 위 치 를 되 돌려 줍 니 다. - 1 을 찾 을 수 없습니다.CString str(_T("abcabcd")); int idx = str.FindOneOf(_T("cbd")); //idx 의 값 은 1 입 니 다.
④. 문자열 의 교체 와 삭제: Replace 는 CString 대상 에서 지정 한 문자 나 문자열 을 교체 하고 교체 한 개 수 를 되 돌려 주 며 일치 하 는 문자 없 이 0 을 되 돌려 줍 니 다.CString str(_T("abcdabc")); int num = str.Replace('b', 'k'); //str == akcdakc, num == 2
CString str(_T("abcdabc")); int num = str.Replace(_T("bc"), _T("kw")); //str == akwdakw, num == 2 Remove CString 대상 의 지정 한 문 자 를 삭제 하고 삭 제 된 문자 의 개 수 를 되 돌려 줍 니 다. 여러 개 있 을 때 삭 제 됩 니 다.CString str(_T("abcdabcb")); int num = str.Remove('b'); //str == acdac, num == 3
Delete CString 대상 의 지정 한 위치의 문 자 를 삭제 하고 처 리 된 문자열 의 길 이 를 되 돌려 줍 니 다.CString str(_T("abcd")); int num = str.Delete(1, 3); //str == a, num == 1
⑤, 문자열 추출: Left, Mid, Right 세 가지 함수 가 각각 CString 대상 의 왼쪽, 가운데, 오른쪽 에서 문자열 추출 작업 을 수행 합 니 다.CString str(_T("abcd")); CString strResult = str.Left(2); //strResult == ab strResult = str.Mid(1); //strResult == bcd strResult = str.Mid(0, 2); //strResult == ab strResult = str.Right(2); //strResult == cd
⑥, 단일 문자 의 수정: GetAt, SetAt 은 CString 대상 의 단일 TCHAR 형식 문 자 를 가 져 오고 수정 할 수 있 습 니 다.[] 연산 자 는 CString 대상 의 단일 문 자 를 가 져 올 수 있 으 나 읽 기 전용 으로 수정 할 수 없습니다.CString str(_T("abcd")); str.SetAt(0, 'k'); //str == kbck TCHAR ch = str.GetAt(2); //ch == c
⑦, 기타 유형 과 CString 대상 유형의 변환: ● 포맷 문자열: Format 방법 으로 int, long 등 수치 유형, TCHAR, TCHAR * 등 유형 에서 CString 형식 으로 전환 합 니 다.int num = 6; CString str; str.Format(_T("%d"), num);
● CString 형식 에서 int 등 수치 유형, TCHAR * 유형의 변환: TCHAR * pszBuf = str. GetBuffer ();str.ReleaseBuffer();
TCHAR *p = (LPTSTR)(LPCTSTR)str;
CString str1(_T("123")); int num = _ttoi(str1);
⑨ 、 CString 대상 의 Ansi 와 Unicode 전환: 지난 시간 에 설명 하 는 방법 을 직접 사용 할 수 있 습 니 다. 또한 Ansi 에서 유 니 코드 로 전환 하 는 은밀 한 방법 을 소개 합 니 다. / 현재 공정 환경 은 유 니 코드 CString str 입 니 다.str = "abc";
char *p = "defg"; str = p;
넓 은 바이트 가 좁은 바이트 로 바 뀌 어도 / / 현재 공정 환경 은 Ansi CString str 입 니 다.str = L"abc";
wchar_t *p = L"defg"; str = p;
⑨ 、 ※ ※ CString 대상 문자열 이 차지 하 는 바이트 수: CString str =T("abc"); 잘못된 구법: sizeof (CString), sizeof (str) 올 바른 구법: str. GetLength () * sizeof (TCHAR) ※ ※ ※ TCHAR * 유형 으로 전 참 했 을 때 GetModuleFileName 함 수 를 사용 하 는 등 충분 한 공간 을 확보 합 니 다.
CString str; GetModuleFileName(NULL, str.GetBufferSetLength(MAX_PATH), MAX_PATH); str.ReleaseBuffer(); MessageBox(str);
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Docker를 사용한 React 및 .NET Core 6.0 샘플 프로젝트 - 1부이 기사에서는 Entity Framework Core Code First 접근 방식을 사용하는 ASP.NET Core 6.0 WEP API의 CRUD(만들기, 읽기, 업데이트 및 삭제) 작업에 대해 설명합니다. 웹 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.