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
。它的工作很好。