【전원을 켜고] CString을 지침

1.CString :: IsEmpty 함수

BOOL IsEmpty 함수 () CONST;

반환 값 다음 CString을의 길이가 0, 0이면 0, 그렇지 않으면.

설명 :이 멤버 함수는 CString을 객체가 비어 있는지 여부를 테스트합니다.

예 :

다음의 예는 CString을 :: IsEmpty 함수를 사용하는 방법을 보여줍니다.

// CString을 :: IsEmpty 함수의 예

CString을의;

ASSERT (s.IsEmpty ());

CString을 :: GetLength를 참조하십시오

 

2.CString :: 왼쪽

CString을 왼쪽 (INT nCount) const를; 

(CMemoryException) 던져;

반환 : 문자열이 nCount 문자 전에 반환됩니다.

예 :

CString을의 (_T ( "ABCDEF"));

ASSERT (s.Left (2) == _T ( "AB"));

 

3.CString :: LoadString

BOOL LoadString (UINT NID);

(CMemoryException) 던져;

반환 값 : 성공 부하 자원이 아닌 값이 반환되면, 그렇지 않으면 0을 반환합니다.

윈도우 문자열 리소스 ID를 NID.

설명 :이 멤버 함수는 Windows 문자열 리소스는 NID에 의해 식별 및 기존 CString을 객체에 배치받을 것입니다.

예 :

다음의 예는 CString을 :: LoadString을 사용하는 방법을 보여줍니다.

// CString을 :: LoadString 예

#DEFINE IDS_FILENOTFOUND 1

CString을의;

경우 (! s.LoadString (IDS_FILENOTFOUND))

 

4.CString :: MakeLower

MakeLower ()를 무효; 문자 소문자를 변경 //

 

5.CString :: MakeReverse

MakeReverse ()를 무효; // 문자를 거꾸로

 

6.CString :: MakeUpper

MakeUpper ()를 무효; 대문자를 변경 //

 

:: 미드 7.CString
CString을 중간 (INT nFirst) CONST; 
CString을 중간 (nFirst INT, INT nCount) CONST; 
nCount 인덱스 시작 문자의 수가 추출 될 위치를 추출 할 nFirst 대표를 나타내고

示例:
CString을의 (_T ( "ABCDEF"));
ASSERT (s.Mid (2, 3) == _T ( "CDE"));

 

8.CString :: ReleaseBuffer

보이드 ReleaseBuffer (INT nNewLength = -1);

매개 변수 : nNewLength

널 문자의 끝을 계산하지, 표시 문자의 문자열의 새 길이. 단어의 경우

문자열의 끝이 널 문자, -1의 기본 매개 변수 값이 CString을의 크기를 설정합니다

문자열의 현 길이.

설명 :

GetBuffer 버퍼에 의해 할당의 사용을 종료 ReleaseBuffer를 사용합니다. 당신은 속도를 알고 있다면

버퍼 영역이 널 종료 스트링이다 nNewLength 파라미터를 생략 할 수있다. 문자의 경우

문자열 문자열 nNewLength의 길이를 지정하는 데 사용할 수 있습니다, 널 (null)로 종료되는 문자가 아닙니다. 호출

ReleaseBuffer CString을하거나 다른 작업 후, 주소가 잘못 GetBuffer에 의해 반환됩니다.

예 :

다음의 예는 CString을 :: ReleaseBuffer의 사용을 보여줍니다.

// CString을 :: ReleaseBuffer 예

CString을의;

S = "ABC",

LPTSTR의 p = s.GetBuffer (1024);

strcpy를 (p, "ABC"); // 버퍼로서 사용

ASSERT (s.GetLength () == 3); // 문자열 길이 = 3

s.ReleaseBuffer은 (); 추가 메모리, 무효 이제 페이지를 해제 //.

ASSERT (s.GetLength () == 3) // 길이는 여전히 3

 

9.CString :: 제거

INT CString을 :: 제거 (TCHAR의 CH);

반환 값 : 문자열에서 제거 문자의 수. 당신은 변경하지 않으면 제로의 문자열이 반환됩니다.

매개 변수는 : 문자열에서 제거 채널.

설명 :이 함수는 문자열에서 제거 부재를 예를 ch 사용된다. 문자와이 대소 문자를 구분 비교

A.

예 :

소문자 'C'에서 제거 // 문장 :

STR을 ( ". 이것은 테스트입니다") CString을;

N = INT하기 str.Remove ( 't');

ASSERT (N 개의 == 2);

ASSERT (STR == "이것은 ES이다.");

 10.CString는 교체 ::

INT (TCHAR chOld, TCHAR chNew)을 교체;

INT (LPCTSTR lpszOld, LPCTSTR lpszNew)을 교체;

반환 값 : 문자의 수를 교체 할 돌려줍니다. 캐릭터가 변경되지 않는 경우 0을 반환한다.

매개 변수 : chOld는 chNew 문자를 대체합니다.

chNew는 chOld 문자를 대체합니다.

lpszNew를 교체 할 문자열을 포함하는 문자열에 대한 포인터를 lpszOld.

문자열에 대한 포인터를 LpszNew, 문자가 포함 된 문자열은 lpszOld을 대체하는 데 사용합니다.

설명 :이 멤버 함수는 다른 문자와 문자를 대체합니다. 기능을 사용하여 첫 번째 프로토 타입 문자열 chNew

현장 교체 chOld. 지정된 문자열 교체와 함께 두 번째 프로토 타입 기능은 lpszNew lpszOld 지정

하위 문자열.

교환 후에는 가능하다 문자열 증감; lpszNew 그리고 때문에 lpszOld 길이

그것은 동일 할 필요는 없다. 두 버전은 대소 문자를 구분 일치의 형태에 있습니다.

예 :

// 첫 번째 예, 과거와 같은 길이를 갖는다.

CString을 strZap ( "C - -");

N = INT strZap.Replace ( '-', '+');

ASSERT (N 개의 == 2);

ASSERT (strZap == "C ++");

// 두 번째 예를 들어, 과거와는 다른 길이있다.

CString을 strBang는 ( "모두는 아이스 하키를 좋아한다");

N = strBang.Replace ( "키", "골프");

ASSERT (N == 1);

N = strBang.Replace ( "재생" "좋아");

ASSERT (N == 1);

N = strBang.Replace ( "아이스크림", NULL);

ASSERT (N == 1);

ASSERT는 (strBang는 "모두가 golg을한다"==);

// 이제 우리는 당신의 문장에있는 여분의 공간을 가지고 있습니다.

//이 여분의 공간을 제거하려면,이 문자열에 포함 할 수 있습니다 예를 들어, 대체 "얼음"합니다.

 

11.CString :: ReverseFind

INT ReverseFind (TCHAR CH) CONST;

반환 값 :이 CString을 객체 및 문자 요구 사항 경기에서 마지막 문자의 인덱스는, 접근하지 않는 경우

원하는 문자 또는 -1.

매개 변수 : CH 문자를 검색 할 수 있습니다.

설명 : 문자열 매칭의 마지막 문자이 CString을 객체 검색이 멤버 함수. 이 기능

런타임 함수 strrchr 유사합니다.

예 :

// CString을 :: ReverseFind 예

CString을의 ( "ABCABC");

ASSERT (s.ReverseFind ( "B") == 4);

 

12.CString :: 오른쪽

CString을 오른쪽 (INT nCount) const를; 

(CMemoryException) 던져;

반환 값 : 반환 된 문자열이 마지막 nCount의 자입니다.

CString을의 (_T ( "ABCDEF"));

ASSERT (s.Right (2) == _T ( "EF"));

 

13.CString :: SetAt

SetAt은 (nIndex, TCHAR 요구 CH INT) 무효;

 설명 : 문자열 배열로 이해 될 수 있고, 부적절한 디버그 오류가 있으면 nIndex 범위를 참고 []와 유사 SetAt. 채널 교체 문자, 문자 nIndex 위치는 채널이됩니다에

 예 :

CString을의 ( "ABC");

s.MakeReverse ();

ASSERT (S == "CBA");

 

14.CString :: TrimLeft

() TrimLeft 무효화;

무효 CString을 :: TrimLeft (TCHAR chTarget);

참고 : 왼쪽 인수가 아닌 과정을 경험하는 등의 문자, 문자 (\ n 개의 \의 t 공간 등)을 삭제할 할 경우에는 지정된 매개 변수가 다음 충족 문자열 인 경우 그 문자를 제거하기 위해 지정할 수 있습니다. 하나 개의 문자가 삭제됩니다.
\의 n 개행
\ t 탭 문자를

. 실시 예 1 :
CString을 STR = "\ N- \ T A";

str.TrimLeft ()

STR "는"이다;

 예 2 :

= "abbcadbabcadb"STR을 CString을,

str.TrimLeft ( "AB");

결과 "cadbabcadb"

str.TrimLeft ( "AC");

그 결과 "bcadbabcadb"

 

15.CString :: TrimRight

() TrimRight 무효화;

무효 CString을 :: TrimRight (TCHAR chTarget)

무효 CString을 :: TrimRight (LPCTSTR lpszTargets);

설명 : 위의 유사한 사용.

 

16.CString :: 비교

INT (LPCTSTR의 lpsz를) CONST 비교;

반환 값 : 0으로 문자열을 반환 -1 미만 lpsz와, 1 개보다 큰 수익률 lpsz를 대소 문자를 구분 문자를

예 :

( "ABC") S1을 CString을;

CString을 S2 ( "ABD");

ASSERT (s1.Compare (S2) == -1);

ASSERT (s1.Compare ( "아베") == -1 

17.CString :: CompareNoCase

INT CompareNoCase (lpsz를 LPCTSTR) CONST;

반환 값 : 0과 같은 문자열이 반환 -1보다 작은 lpsz와, 1 개보다 큰 수익률 lpsz를 대소 문자를 구분 문자를

 

18.CString :: 부씩 인쇄

INT 부씩 (LPCTSTR의 lpsz를) CONST;

同 CString을 :: 비교

 

19.CString :: CollateNoCase

INT CollateNocase (lpsz를 LPCTSTR) CONST;

同 CString을 :: CompareNoCase

 

20.CString :: CString을 // 생성자

() CString을;

CString을 (CONST CString을 & stringSrc); 

CString을 (TCHAR CH, INT nRepeat = 1); 

CString을 (LPCTSTR lpch, NLENGTH INT);

CString을 (CONST 부호의 char *의 PSZ); 

CString을 (LPCWSTR의 lpsz를);

CString을 (lpsz를 LPCSTR 용);

예 :

S1을 CString을;                     

( "고양이") S2를 CString을;              

CString을 S3 = (S2);                 

(S4)를 CString을 (S2 + ""+ S3)        

S5를 CString을 (X ''); // S5 = "X"

S6을 CString을 (X '', 6); // S6 = "XXXXXX"

CString을 S7 ((LPCSTR) ID_FILE_NEW); // S7 = "새 문서 만들기"

CString을 도시 = "필라델피아";

 

21.CString 삭제 ::

삭제 INT (INT nIndex, INT nCount = 1); 

반환 값 : 문자열의 길이는 전에 삭제하는 것입니다

nIndex는 nCount는 여러 문자를 삭제하는 것입니다, 삭제할 첫 번째 문자입니다. 내 테스트 결과의 결과에 따르면 nCount가> 최대 길이의 문자열을 삭제하려면 - nCount가 너무 큰 경우 잘못된 것으로 (GetCount () nIndex), 삭제 충분한 문자가없는,이 기능이 수행되지 않습니다.

예 :

STR1, STR2, STR3을 CString을;

를 숯불;

STR1 = "nihao";

STR2 = "nIhao";

INT (X)]

//는 I = (STR1 == STR2)을 int로;      

str1.Delete (2,3);

nCount (3)> GetCount ()는 경우 - nIndex는 (5-2) 오류를 수행합니다

 

22.CString :: 빈

무효 빈 ();

반환 값 : 반환 값 비우는없는 작업을;

예 :

CString을의 ( "ABC");

s.Empty ();

ASSERT (s.GetLength () == 0);

 

23.CString 찾기 ::

INT 찾기 (TCHAR의 CH) CONST;

INT (LPCTSTR lpszSub) const를 찾기;

INT 찾기 CONST (TCHAR의 채널을, n 다음을 INT);

INT 찾기 CONST (LPCTSTR lpszSub, n 다음을 INT);

반환 값 : -1을 반환 일치하지 않습니다 인덱스는 0에서 시작, NSTAR 대표 문자 인덱스 값이 검색을 개시 n 다음,

즉, 인덱스 n 다음 문자를 포함하는 문자열입니다.

예 :

CString을의 ( "ABCDEF");

ASSERT (s.Find ( 'C') == 2);

ASSERT (s.Find ( "드") == 3)

STR을 ( "별 정렬되어 있습니다") CString을;

ING str.Find N = ( 'E', 5)

ASSERT (N 개의 == 12)

 

24.CString :: FindOneOf

FindOneOf (LPCTSTR lpszCharSet)을 const int로;

반환 값 : 반환이 일치하지 않습니다 -1; 인덱스를 제로로

참고 : lpszCharSet 포함하는 문자열을 반환 또한, 제로로부터 시작되는 인덱스 값과

예 :

CString을의 ( "ABCDEF");

ASSERT (s.FindOneOf ( "XD") == 3); // 'D'는 첫 경기이다.

 

25.CString :: 형식

무효 형식 (LPCTSTR lpszFormat, ...);

무효 형식 (UINT nFormatID, ...);

매개 변수 : 형식 제어 문자열 lpszFormat

nFormatID 문자열 식별자

예 :

STR을 CString을;

Str.Format ( "%의 D", 13); 

이 시점 str을 13에서

 

26.CString :: GetAt

TCHAR GetAt (INT nIndex) CONST;

반환 값 : nIndex 문자 표시 반환은, 당신이 문자열 배열로 해석 할 수 있습니다,주의 집중 기간 nIndex []와 유사 GetAt, 적절한 디버그 오류가없는 경우.

 

27.CString :: GetBuffer

LPTSTR GetBuffer (nMinBufLength INT);

반환 값 : LPTSTR 문자 버퍼 포인터 (null로 끝나는로) 포인팅 객체입니다.

매개 변수 : nMinBufLength

문자 버퍼의 문자 수의 최소 용량. 이 값은 널 종료 문자를위한 공간을 포함하지 않습니다.

설명이 멤버 함수 내부 문자 버퍼에 대한 포인터를 리턴은 CString을 가리키는 포인터이다. LPTSTR하지 CONST를 반환, 따라서 직접 CString을의 내용을 수정할 수 있습니다. 당신이 문자열의 내용을 변경 GetBuffer에 의해 반환 된 포인터를 사용하는 경우 다른 CString을 멤버 함수 전에 ReleaseBuffer 함수를 호출 사용해야합니다.

다른 CString을 조작이 CString을 버퍼를 일으킬 수 있기 때문에, ReleaseBuffer, 아마 잘못된 GetBuffer에 의해 반환 된 주소를 호출 한 후 재 할당합니다. 이 CString을 길이를 변경하지 않는 경우, 버퍼는 재 할당되지 않습니다. 이 CString을 객체가 소멸 될 때 그 버퍼 메모리가 자동으로 해제된다.

참고 : 문자열의 길이를 알고 있다면, 당신은 널 종료 문자를 추가하지 않아야합니다. 당신이 버퍼를 해제 ReleaseBuffer를 사용할 때, 당신은 최종 문자열 길이를 지정해야합니다. 당신이 널 문자를 추가하면, ReleaseBuffer 길이 매개 변수가 -1을 건네 주어야한다 ReleaseBuffer는 버퍼의 길이 나 strlen 구현을 결정합니다.

예 :

// CString을 :: GetBuffer 예

CString을의 ( "ABCD");

_DEBUG #ifdef와

afxDump << "CString을 S"<< S << "\ n을";

#endif 다음

LPTSTR의 p = s.GetBuffer (10)

strcpy와 (P, "안녕하세요"); // CString을 객체에 직접 액세스 할 수 있습니다.

s.ReleaseBuffer ();

_DEBUG #ifdef와

afxDump << "CString을 S"<< S << "\ n을";

#endif 다음

 

28.CString :: GetLength

GetLength ()을 const int로;

반환 값 : 바이트 카운트 문자열을 반환합니다.

설명이 기능이 CString을 개체의 구성원의 바이트 수를 얻기 위해 사용된다. 이 수는 널 문자가 포함되지 않습니다.

멀티 바이트 문자 세트 (MBCS)의 경우 GetLength 각각 8 비트의 문자 수, 즉, 멀티 바이트 문자의 시작과 끝 바이트 2 바이트로 간주한다.

다음의 예는 CString을 :: GetLength을 사용하는 방법을 보여줍니다.

// CString을 :: GetLength 예

CString을의 ( "ABCDEF");

ASSERT (s.GetLength () == 6);

 

29.CString :: 삽입

INT 삽입 (INT nIndex, TCHAR의 CH); 

INT 삽입 (INT nIndex, LPCTSTR의 pstr);

반환 값 : nIndex는 삽입 후 인덱스의 문자 (또는 문자열) 예이며, 수정 된 길이를 반환

예 :

STR를 CString을 ( "HockeyBest");

 N = INT str.Insert (6, "이다");

 어설 션 (N str.GetLength를 == ()); 

의 printf ( "1 % S \ 없음"(LPCTSTR) STR);

 N = str.Insert (6 ''); 

어설 션 (N str.GetLength를 == ()); 

의 printf ( "2 % S \ 없음"(LPCTSTR) STR)

 N = str.Insert (555 '1');

어설 션 (N str.GetLength를 == ());

 의 printf ( "3 % S \ 없음"(LPCTSTR) STR);

수출

1. Hockeyis 최저

2. 하키 베스트입니다

! 3. 하키 베스트입니다
 편집기 :

 http://blog.163.com/ccd_ok/blog/static/310238892007510113223798/

추천

출처www.cnblogs.com/ScarecrowMark/p/11314529.html