CString文字列の検索と切り取り


ここではCString Left()、Mid()、Right()、およびCString文字列検索に関連するいくつかの関数の使用をまとめ、まず検索する必要があります.CStringには、Find()、ReverseFind()、FindOneOf()のいくつかの検索関数があります.
一、CStringのFind()、FindOneOf()、ReverseFind()
この3つの関数の戻り値はいずれも整数intである.
1、Find()
この関数は左側の0インデックスから始まり、最初に現れた文字の位置を検索し、positionを返します.例は次のとおりです.1 CString s(  "abcd"   ); 2 ASSERT( s.Find(  'b'   ) == 1 );
戻り値:
検索した場合は、0インデックスで開始した場所を返します.
検出されない場合は、-1を返します.
2、FindOneOf()
文字列を指定し、最初の文字の位置を検索します.例は次のとおりです.1 CString s(  "abcdef"   ); 2 ASSERT( s.FindOneOf(  "zb"   ) == 1 );
戻り値:
検索した場合は、0インデックスで開始した場所を返します.
検出されない場合は、-1を返します.
3、ReverseFind()
この関数は、文字が表示される場所を逆方向に検索します.例は次のとおりです.1 CString s(  "abcd"   ); 2 ASSERT( s.ReverseFind(  'b'   ) == 2 );
戻り値:
検索した場合は、0インデックスで開始した場所を返します.
検出されない場合は、-1を返します.
二、CStringのLeft()、Mid()、Right()
検索が完了すると、文字列を切り取る必要がある場合があります.CStringには、次の文字列切り取り関数があります.
1、Left(int nCount)
この関数は左側のnCount文字を切り取り、2バイト文字(以下MidとRightも同様に理解)に遭遇した場合、中国語のように文字化けしてしまう可能性があります.nCountはバイト単位でカウントされるからです.
2、Mid(int nFirst)とMid(int nFirst,int nCount)
Mid(int nFirst)関数は、文字列が終わるまでnFirstから始まる文字列を切り取ります.
Mid(int nFirst,int nCount)関数は、nFirstからnCountバイト文字を切り取ります.
3、Right(int nCount)
この関数は、右側のnCountバイト文字を切り取ります.
Left()、Mid()、Right()関数の例は次のとおりです.1 CString s= " " ; //_T(" ") 2 CString s1=s.Left(3); // ? 3 CString s2=s.Mid(3); //? 4 CString s4=s.Right(3); //? 5        6 s= "123456789" ; 7 s1=s.Left(3);    //123 8 s2=s.Mid(3);     //456789 9 s4=s.Right(3);   //789
詳細:
http://msdn.microsoft.com/en-us/library/aa315043%28v=vs.60%29