I don't see anything obviously wrong - have you tried making a loop to print your "argv" array when you have parsed the arguments?
Minor nits:
You probably want:
Code:
argv[i] = NULL; // make last element null
instead of:
Code:
argv[i] = '\0'; // make last element null
Code:
memset(argv[i], '\0', argument.size()+1); // null it out
argument.copy(argv[i], argument.size()); // copy argument to argv
Setting the entire array to zero, then overwriting all but one byte with a string is a bit excessive. Perhaps this would work better:
Code:
argument.copy(argv[i], argument.size()); // copy argument to argv
argv[i][argument.size()+1] = '\0';
--
Mats