Rechercher : dans
Par :

[C++] conversion char** en std:string*

Dernière réponse le 3 jan 2008 à 16:09:16 EverDraft, le 3 jan 2008 à 15:27:12 
 Signaler ce message aux modérateurs

Bonjour,
je cherche a transformer un char** en std::string*.
Par exemple:

int main(int argc,
char** argv)
{
std::string* argv_;

argv_ << argv;
for (int i = 0; i < argc; i++)
std::cout << "les arguments sont: `" << argv_[i] << "\'" << std::endl;
return 0;
}

Cet exmple est faux, c'est juste pour donner l'idee de se que je recherche.

Merci pour votre aide.

Configuration: Mac OS X
Firefox 2.0.0.11

Meilleures réponses pour « [C++] conversion char** en std:string* » dans :
Les piles en langage C VoirLes piles Requis I. INTRODUCTION II. Définition III. La construction du prototype d'un élément de la pile IV. Opérations sur les piles A. Initialisation B. Insertion d'un élément dans la pile C. Ôter un élément de la pile D. Affichage...
Langage C - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C, une chaîne...
Les chaînes de caractères en C++ VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C++, une...
Les structures en langage C VoirDifférence entre une structure et un tableau Un tableau permet de regrouper des éléments de même type, c'est-à-dire codés sur le même nombre de bits et de la même façon. Toutefois, il est généralement utile de pouvoir rassembler des éléments de...

1

Lapinkiller, le 3 jan 2008 à 15:39:16

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)
Lapinkiller, étudiant en BTS IRIS (informatique et réseaux...)
"La fin du monde n'est pas pour demain, elle est arrivée hier" (Lapinkiller)

Répondre à Lapinkiller

2

Char Snipeur, le 3 jan 2008 à 15:52: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(); Salutation ! Quand on sait pas, on touche pas !JBT
Char Snipeur

Répondre à Char Snipeur

3

 EverDraft, le 3 jan 2008 à 16:09:16

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.

Répondre à EverDraft
Collection CommentÇaMarche.net