掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
VC++のswitch文の条件式にCString型は使えますか? (ID:59279)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
文字列テーブルまたはマップリストを使って、 リストから検索しインデックスを取得して、switch文で分岐という方法があります。 例えば、 int GetWordIndex( const CString strWord ) { static const LPCTSTR WORDTABLE[] = { "東京", "中山", "阪神", "京都" }; static const int nSize = sizeof( WORDTABLE ) / sizeof( LPCTSTR ); /* ここで文字列テーブルから検索しそのインデックスを取得 */ /* ここでは逐次検索 */ for ( int i = 0; i < nSize; ++i ) { if ( strWord == WORDTABLE[ i ] ) { return i; } } return -1; } //////// 主処理 /////// switch ( GetWordIndex( strWord ) ) { case 0: /* 東京 */ /* 処理 */ break; case 1: /* 中山 */ /* 処理 */ break; case 2: /* 阪神 */ /* 処理 */ break; case 3: /* 京都 */ /* 処理 */ break; default: /* その他 */ /* 処理 */ break; } みたいにする。 40もある場合は、マップリストにして検索するといいと思います。 (MFCのCMapをつかいLookupメソッドを利用するのかな)
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.