[C++] conversion char** en std:string*
Résolu/Fermé
EverDraft
Messages postés
24
Date d'inscription
vendredi 30 novembre 2007
Statut
Membre
Dernière intervention
23 août 2008
-
3 janv. 2008 à 15:27
EverDraft Messages postés 24 Date d'inscription vendredi 30 novembre 2007 Statut Membre Dernière intervention 23 août 2008 - 3 janv. 2008 à 16:09
EverDraft Messages postés 24 Date d'inscription vendredi 30 novembre 2007 Statut Membre Dernière intervention 23 août 2008 - 3 janv. 2008 à 16:09
A voir également:
- [C++] conversion char** en std:string*
- Coco char - Guide
- Conversion monnaie - Télécharger - Banque & Budget
- Conversion mb en mo ✓ - Forum Matériel & Système
- Conversion note sur 20 ✓ - Forum Bureautique
- Formule conversion centième d'heure en minute ✓ - Forum Bureautique
3 réponses
Utilisateur anonyme
3 janv. 2008 à 15:39
3 janv. 2008 à 15:39
bonjour
regarde dans la classe string si je me souvien bien il y'a une methode pour convertir un char en string (et une methode pour fiare l'inverse)
regarde dans la classe string si je me souvien bien il y'a une methode pour convertir un char en string (et une methode pour fiare l'inverse)
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 297
3 janv. 2008 à 15:52
3 janv. 2008 à 15:52
Salut. quitte à utiliser la STL autant le faire jusqu'au bout.
std::vector<std::string> argv_;
for (int i = 0; i < argc; i++) argv_.push_back(argv[i]);
Je doute que tu puisse convertir un char** à string* directement et aussi simplement qu'en fesant argv_<<argv; et en particulier car string* est un pointeur sur string et que par conséquan il faut lui allouer un certain espace mémoire, ce qui ne se fait pas automatiquement.
pour faire l'inverse, il suffit d'utilise
const char* std::string::c_str();
std::vector<std::string> argv_;
for (int i = 0; i < argc; i++) argv_.push_back(argv[i]);
Je doute que tu puisse convertir un char** à string* directement et aussi simplement qu'en fesant argv_<<argv; et en particulier car string* est un pointeur sur string et que par conséquan il faut lui allouer un certain espace mémoire, ce qui ne se fait pas automatiquement.
pour faire l'inverse, il suffit d'utilise
const char* std::string::c_str();
EverDraft
Messages postés
24
Date d'inscription
vendredi 30 novembre 2007
Statut
Membre
Dernière intervention
23 août 2008
1
3 janv. 2008 à 16:09
3 janv. 2008 à 16:09
Merci beaucoup, j'ai trouve la solution:
#include <list>
#include <iostream>
#include <string>
int main(int argc,
char** argv)
{
std::list<std::string> argv_;
std::list<std::string>::iterator i;
for (int i = 0; i < argc; i++)
std::cout << argv[i] << std::endl;
for(int i = 0; i < argc; i++)
argv_.push_back(argv[i]);
for (i = argv_.begin(); i != argv_.end(); i++)
std::cout << *i << std::endl;
}
encore merci.
J'ai un autre souci mais je vais poster dans un nouveau topic, encore merci.
#include <list>
#include <iostream>
#include <string>
int main(int argc,
char** argv)
{
std::list<std::string> argv_;
std::list<std::string>::iterator i;
for (int i = 0; i < argc; i++)
std::cout << argv[i] << std::endl;
for(int i = 0; i < argc; i++)
argv_.push_back(argv[i]);
for (i = argv_.begin(); i != argv_.end(); i++)
std::cout << *i << std::endl;
}
encore merci.
J'ai un autre souci mais je vais poster dans un nouveau topic, encore merci.