1. vector<string> cmdv=explode(" ","i am a string");
2. std::string arg;
3. char * args[10];
4. for (i = 0; i < cmdv.size(); i++) {
5. arg = std::string(cmdv[i]);
6. if (cmdv[i][0] == '"') {
7. //do some thing
8. }
9. args[i] = arg.c_str();;
10. }
11. args[i]='\0';
args
配列の内容を期待していまし{"i","am","a","string"}
たが、args
配列は{"am","a","string","string"}
デバッグ時に、if
節の 6 行目で whencmdv[i][0]
が と比較され'"'
、args[i-1]
の内容に置き換えられていることがわかりましたarg
。私は当惑しました!
機能には問題ありませんexplode
。その動作は良好です。