ここでは、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 ); }