Bonjour tout le monde,
j'ai un code qui fonctionne qui ressemble à ceci :
On passe à cette valeur une chaine de caractère (str) et la fonction convertit cette chaine en long. Jusqu'ici pas de soucis.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 long strToLong(string str, int base) { char * p; long var_strToLong = strtol(str.c_str(), &p, base); if(*p != '\0'){ var_strToLong = 0; } return var_strToLong; }
Mais on me précise que :
Et j'voulais donc savoir si un simple 'string str' pouvait gérer tous ces cas ?Cette fonction prend un argument de type chaîne de caractères, sachant qu'on doit pouvoir lui passer, indifféremment, un litéral chaîne (ex. "hello"), un argument de la ligne de commande (type : char const *) ou une variable de type std::string.
Pour cela, à vous de trouver le bon type pour l'argument.
Aucun des arguments n'est censé être modifié par la fonction. Aucun argument de type "objet" ne doit être clôné en appelant la fonction.
Trouvez les bons modes de passage. Ces règles s'appliquent aux fonctions qui suivent aussi.
C'est surtout le "un argument de la ligne de commande (type : char const *)" que j'ai pas compris...
Partager