文字列の判定
作るものを決めたのはいいのですが、
前回の記録にも書いたとおり、知識不足です。
例えば、シナリオファイルを解析するための「文字列の判定」。
というわけで、今回はstd::stringクラスについて勉強してみました。
[ Find.cpp ]
今回、初めてstd::stringクラスなるものを使ってみました。
最初に文字列を指定して初期化、
次にfind()関数を使って文字列判定、
最後にc_str()関数を使って文字列の表示です。
find()関数は指定した文字列が登場する位置を返してくれます。
↑のプログラムでは、str1の文字列の中で、str2の文字列は何バイト目にあるかを調べています。
c_str()関数は文字列をchar型の配列にして返します。
stringのままでは表示できないのでこうして変換しているのです。
と簡単に書きましたが、最初にビルドしたときはしっかりとエラーが出ました。(苦笑)
エラー内容は多分ですが「stringって何?」といったものでした。
そこでネットで検索してみるとstringクラスを使っているプログラムは、
「using namespace std ;」
というコードを書いているものが多く、試しに追記してみるとビルド成功。
調べてみると、namespace(名前空間)を使うことを指定すると、
クラスの名前を省略することができるようになるそうです。
stringクラスは実際には「std::stringクラス」。
その「std::」の部分を省略できるというわけですね。
Javaのimport文と同じと思えばわかりやすいものです。
これで文字列の判定をすることができるようになりました。
あとは文字色の変更と処理の一時停止あたりが出来れば、ゲームを作れるようになりそうです。
2008/09/09(火)19:54
戻る
コメント