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。その動作は良好です。