Comment obtenir std::string à partir d'arguments de ligne de commande en application win32?
Alors maintenant, j'ai un
int main (int argc, char *argv[]){}
comment faire de chaîne en fonction de? va int main (int argc, std::string *argv[])
être assez?
Vous devez vous connecter pour publier un commentaire.
Si vous souhaitez créer une chaîne avec des paramètres d'entrée passée, vous pouvez également
ajouter des pointeurs de caractère pour créer une chaîne, vous
+=
" écraserait tous ensemble.passedValue.append(argv[i]).append(" ")
aurait l'air plus agréable.Vous ne pouvez pas modifier principal de la signature, c'est votre meilleur pari:
+1
de moi, bien que généralement vous voulezargv+1, argv+argc
(parce queargv+0
est le nom de l'application).Vous ne pouvez pas le faire de cette façon, comme la fonction principale est déclaré explicitement que c'est comme un point d'entrée. Notez que le CRT ne sait rien sur la STL serait barf, de toute façon. Essayez:
Qui serait non-standard, parce que la Norme en
3.6.1
dit;-)
Pas. Qui n'est pas autorisé. S'il est présent, il est obligatoire char *argv[].
BTW, en C++ principal doit toujours être déclarée pour retourner 'int'
principal reçoit char*. vous devrez mettre le tableau argv dans std::les chaînes de vous-même.