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"}
在调试时,我发现在第 6 行中的if子句 when cmdv[i][0]is compare with '"',args[i-1]被替换为arg. 我一头雾水!
功能没有问题explode。它的工作很好。