CString文字列の検索と切り取り
2413 ワード
ここではCString Left()、Mid()、Right()、およびCString文字列検索に関連するいくつかの関数の使用をまとめ、まず検索する必要があります.CStringには、Find()、ReverseFind()、FindOneOf()のいくつかの検索関数があります.
一、CStringのFind()、FindOneOf()、ReverseFind()
この3つの関数の戻り値はいずれも整数intである.
1、Find()
この関数は左側の0インデックスから始まり、最初に現れた文字の位置を検索し、positionを返します.例は次のとおりです.
戻り値:
検索した場合は、0インデックスで開始した場所を返します.
検出されない場合は、-1を返します.
2、FindOneOf()
文字列を指定し、最初の文字の位置を検索します.例は次のとおりです.
戻り値:
検索した場合は、0インデックスで開始した場所を返します.
検出されない場合は、-1を返します.
3、ReverseFind()
この関数は、文字が表示される場所を逆方向に検索します.例は次のとおりです.
戻り値:
検索した場合は、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()関数の例は次のとおりです.
詳細:
http://msdn.microsoft.com/en-us/library/aa315043%28v=vs.60%29
一、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