私はC++で通訳言語に取り組んでいます。現在、私はすでにjavascriptから解釈された言語のバージョンを作成しており、javascriptsDOMへのバインディングがいくつかあります。さて、c ++でシステムベースのバージョンを作りたかったのですが、始めたばかりで、javascriptをc++に書き直すのは思ったより難しいことだと気づきました。あなたが知っている、タイプ定義、比較など。
現在、私は「セクション」という単語を小さく、大きく、混合されたキャプションで認識するパーサーを設計しています。つまり、JavaScriptでは、「==」演算子を使用して、文字列値のインデックスを数値と比較できます。これは、左側に与えられた値を評価するだけでなく、あらゆるものを比較するためにも使用できます。さて、javascriptについて十分に話してください。問題は、私はC ++に少し慣れていないということですが、実際には、文字列を入力として受け取り、単語「セクション」(大文字と混合の両方)を検索し、それが表示されたときに何かを実行する関数を作成したかったのです。それ。とても簡単に聞こえますか?さて、これは私が実際にコンパイルに成功したコードですが、「セクション」という単語はまったく表示されません。
#include <iostream>
#include <string>
string scanForSections(string iText){
for(int i=0;i<iText.size();i++){
if((iText[i]=='s'||iText[i]=='S')&&
(iText[i+1]=='e'||iText[i+1]=='E')&&
(iText[i+2]=='c'||iText[i+2]=='C')&&
(iText[i+3]=='t'||iText[i+3]=='T')&&
(iText[i+4]=='i'||iText[i+4]=='I')&&
(iText[i+5]=='n'||iText[i+5]=='N')&&
(iText[i+6]==' ')){
i+=7;
cout<<"section found!\n";
}
}
return "0";
}
int main()
{
scanForSections("section SECTION SeCtIoN");
return 0;
}
ここでどのように比較すればよいですか?.equals()?他の比較演算子?部分文字列?解決策はありますか?例?