차근차근/C

CString - ReverseFind , Mid ,MakeUpper

예쁜꽃이피었으면 2014. 11. 20. 13:02



http://msdn.microsoft.com/en-us/library/aa315043(v=vs.60).aspx





[MFC] CString 문자열 검색 함수 - Find, ReverseFind

http://shaeod.tistory.com/332



CString 문자열 검색 관련 함수 중 Find(), ReverseFind()에 관한 내용이다.


※요약

Find : CString 개체의 문자열 기준, 좌측에서부터 문자 혹은 문자열을 검색

ReverseFind : CString 개체의 문자열 기준, 우측(역순)에서부터 문자를 검색



※특징

Find나 ReverseFind의 반환값은 0 ~ (문자열 길이 n-1)이다.

찾으려는 문자열이 없을 경우 -1을 리턴한다.



※함수 원형 및 설명

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int Find( TCHAR ch ) const;
//ch : 검색할 단일 문자
//반환값 : 검색된 위치, 실패 시 -1
 
int Find( TCHAR ch, int nStart ) const;
//ch : 검색할 단일 문자
//nStart : 검색을 시작할 위치. 생략 시 디폴트 값 0
//반환값 : 검색된 위치, 실패 시 -1
 
int Find( LPCTSTR lpszSub ) const;
//lpszSub : NULL로 종결되는 검색할 문자열
//반환값 : 검색된 위치, 실패 시 -1
 
int Find( LPCTSTR lpszSub, int nStart ) const;
//lpszSub : NULL로 종결되는 검색할 문자열
//nStart : 검색을 시작할 위치. 생략 시 디폴트 값 0
//반환값 : 검색된 위치, 실패 시 -1
 
int ReverseFind( TCHAR ch ) const;
//ch : 검색할 단일 문자
//반환값 : 검색된 위치, 실패 시 -1



※예제

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <atlstr.h>       //CString
 
int main( )
{
    int nIndex = 0;
    CString strDate( "2013-12-16" );
 
    nIndex = str.Find( '0' );
    printf( "%d\n", nIndex );
 
    nIndex = str.Find( '12' );
    printf( "%d\n", nIndex );
 
    nIndex = str.ReverseFind( '-' );
    printf( "%d\n", nIndex );
 
    return 0;
}



[MFC] CString 문자열 추출 함수 - Left, Mid, Right

http://shaeod.tistory.com/331


※요약

Left  : CString 개체의 문자열에서 왼쪽을 기준으로 문자열 추출

Mid : CString 개체의 문자열에서 지정한 중간 부분의 문자열 추출

Right : CString 개체의 문자열에서 오른쪽을 기준으로 문자열 추출



※함수 원형 및 설명

1
2
3
4
5
6
7
8
9
10
11
12
13
CString  Left( int nCount ) const;
//nCount : 왼쪽 기준 추출할 문자의 수
//반환값 : 추출된 문자열을 포함하는 CString 임시 개체
 
CString  Right( int nCount ) const;
//nCount : 오른쪽 기준 추출할 문자의 수
//반환값 : 추출된 문자열을 포함하는 CString 임시 개체
 
CString  Mid( int nFirst ) const;
CString  Mid( int nFirst, int nCount ) const;
//nFirst : 추출을 시작할 문자열의 위치
//nCount : 추출할 문자의 수
//반환값 : 추출된 문자열을 포함하는 CString 임시 개체



※예제

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <atlstr.h>       //CString
 
int main( )
{
    CString strDate( "2013-12-16" );
     
    CString strYear;
    CString strMonth;
    CString strDay;
 
    strYear = strDate.Left( 4 );
    strMonth = strDate.Mid( 5, 2 );
    strDay = strDate.Right( 2 );
     
    printf( "%s년 %s월 %s일", strYear, strMonth, strDay );
 
    return 0;
}

http://shaeod.tistory.com/336


CString 문자열 대문자나 소문자로 변환하는 함수 MakeUpper() 와 MakeLower() 에 대한 내용이다.


※요약

MakeUpper : 모든 문자열을 대문자로 변환한다.

MakeLower : 모든 문자열을 소문자로 변환한다.



※특징

C언어 중 strupr, strlwr 함수와 비슷하다.



※함수 원형 및 설명

1
2
void MakeUpper( );
void MakeLower( );



※예제

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <atlstr.h>       //CString
 
#define print(str)  printf( "%s\n", str )
 
int main( )
{
    CString strText1 = "ABCDE";
    CString strText2 = "abcde";
    CString strText3 = "a1b2c3d4e";
 
    strText1.MakeLower( );
    print( strText1 );      //abcde
 
    strText2.MakeUpper( );
    print( strText2 );      //ABCDE
 
    strText3.MakeUpper( );
    print( strText3 );      //A1B2C3D4E
 
    return 0;
}



반응형