ここでは、MFC アプリケーションで文字列を大文字に変換したり、小文字に変換する関数の使用サンプルを掲載しています。
スポンサーリンク
文字列を大文字・小文字に変換する
まずは、大文字、または小文字に変換するサンプルコードです。CString の MakeLower ( 小文字変換 ) と MakeUpper ( 大文字変換 ) を使用しています。
// 動作確認用の文字列
CString str = _T("test STRING");
// 大文字に変換する
str.MakeUpper();
// 小文字に変換する
str.MakeUpper();
「 リターン値は?変換後の文字列は?最近イイことないんですが? 」 と最初は思いましたが、CString クラスが保持する文字列そのものを大文字・小文字に変換しています。イマイチな感じです。変換処理の中身は次のようになっています。元の文字列を変換したくない場合は、一旦別変数に代入してから、変換処理をする必要がありそうです。
MakeUpper, MakeLower の実装
// 保持する文字列を大文字に変換する
// Convert the string to uppercase
CStringT& MakeUpper()
{
int nLength = GetLength();
PXSTR pszBuffer = GetBuffer( nLength );
StringTraits::StringUppercase( pszBuffer, nLength+1 );
ReleaseBufferSetLength( nLength );
return( *this );
}
// 保持する文字列を小文字に変換する
// Convert the string to lowercase
CStringT& MakeLower()
{
int nLength = GetLength();
PXSTR pszBuffer = GetBuffer( nLength );
StringTraits::StringLowercase( pszBuffer, nLength+1 );
ReleaseBufferSetLength( nLength );
return( *this );
}