rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

Conversion de std string a const char *

DarkBul, le lundi 22 octobre 2007 à 15:04:30
Bonjour,
J'ai écrit ce code mais j'ai une erreur lors de la compilation concernant la ligne system(cmd); car la variables cmd est de type std string et que la commande systeme souhaite une variables de type const char *.
Comment faire pour passé de l'un à l'autre?

void main (void) {

/****** Variables locales ******/
string range, IP, cmd ;

/****** Blocs d'instructions ******/
cout << "Range (xxx.xxx.xxx.) : ";
cin >> range;

for (int i = 1; i <= 255; i++){

// Convert Integer to String (use sstream library)
std::stringstream ConvertStream;
ConvertStream << i;
ConvertStream >> IP;

cmd = ("ping " + range + IP);

system(cmd);

}
}


ERREUR : error C2664: 'system' : cannot convert parameter 1 from 'std::string' to 'const char *'
Configuration: Windows XP
Firefox 2.0.0.8
Répondre à DarkBul  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
spidag, le lundi 22 octobre 2007 à 15:15:19
Bonjour,
system ("%s",cmd);
t'as essayé ?
Répondre à spidag

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
CORBEAU, le lundi 22 octobre 2007 à 15:22:26
system (cmd.cs_str());
Répondre à CORBEAU

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
DarkBul, le lundi 22 octobre 2007 à 16:10:28
Bonjour,

spidag ton code retourne: error C2660: 'system' : function does not take 2 arguments

corbeau ton code retourne: error C2039: 'cs_str' : is not a member of 'std::basic_string<_Elem,_Traits,_Ax>'
Répondre à DarkBul

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
spidag, le lundi 22 octobre 2007 à 17:16:47
Bonjour,
""+cmd ?
Répondre à spidag

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
CORBEAU, le lundi 22 octobre 2007 à 20:17:41
pardon
system (cmd.c_str());
Bonne chance.
Répondre à CORBEAU

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
DarkBul, le mardi 23 octobre 2007 à 09:44:15
Bonjour,

Spidag : error C2664: 'system' : cannot convert parameter 1 from 'std::basic_string<_Elem,_Traits,_Ax>' to 'const char *'

Merci Corbeau c'est nikel.
Répondre à DarkBul

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
mamiemando, le mardi 23 octobre 2007 à 10:03:02
Fais un truc dans ce genre :
#include <sstream>
#include <iostream>

int main(){
    int x = 5;
    const char *str = "plop";
    double y = 69.28;
    std::ostringstream oss;
    oss << x << ' ' << str << '\t' << y;
    const char *res = oss.str().c_str();
    std::cout << res << std::endl;
    return 0;
}

std::ostringstream -- str() --> std::string -- c_str() --> const char *

Bonne chance
Répondre à mamiemando

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
spinakur, le jeudi 13 mars 2008 à 15:34:16
salut un peut tard
peut etre
mais tu devrais essayer ca :
std::string test = "salut";
const char* resalut = test.data();
std::cout << test << std::endl;


la theoriquement ca devrais marcher
il se peut que j'ecrive dans le vide mais la reponse servira a ceux qui cherche encore
a+
Répondre à spinakur

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
spinakur, le jeudi 13 mars 2008 à 15:35:18
oups boulette :

std::string test = "salut";
const char* resalut = test.data();
std::cout << resalut << std::endl;


dsl
Répondre à spinakur

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
mamiemando, le jeudi 13 mars 2008 à 23:30:57
Non il faut utiliser c_str() car data() n'est pas forcément fini d'un '\0' :
http://www.sgi.com/tech/stl/basic_string.html

Ainsi :
#include <string>
#include <iostream>

int main(){
  const std::string test = "plop";
  std::cout << plop.c_str() << std::endl;
  return 0;
}

Bonne chance
Répondre à mamiemando

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 Rob, le mardi 1 avril 2008 à 19:31:46
Hi, thanks for this, it solved my problem.

(I read french fine, but I won't embarrass myself trying to write it)

Merci!
Répondre à Rob
PB convertion : String => Const char* (Résolu)Bonjour, Mon probleme ne concerne pas une banal conversion d'un string vers un const mais d'un string appartenant a une structure vers un const char. Donc voici un exemple de strcuture Fichier.h: #ifndef SOUDURE #define SOUDURE #include... www.commentcamarche.net/forum/affich-2818875-pb-convertion-string-const-char
Programmation en c, (Résolu)salut tous le mone si quelqu'un peut me faire je serai trés reconnaissant SVP SVP SVP ........................................... le programme en c qui recherche une sous chaine dans une autre chaine constante comme cela int str str(const char... www.commentcamarche.net/forum/affich-2204985-programmation-en-c
[C++] conversion char** en std:string* (Résolu)Bonjour, je cherche a transformer un char** en std::string*. Par exemple: int main(int argc, char** argv) { std::string* argv_; argv_ www.commentcamarche.net/forum/affich-4515781-c-conversion-char-en-std-string
Téléchargement et conversion de vidéos en streamingNOTE AUX CONTRIBUTEURS : voir http://www.commentcamarche.net/faq/sujet 12060 enregistrer une video en streaming youtube google video etc Solution sous Windows Pourquoi s'embarrasser avec plusieurs logiciels pour convertir, lire et télécharger des... www.commentcamarche.net/faq/sujet-8143-telechargement-et-conversion-de-videos-en-streaming
[Programmation] Conventions de passage de paramètres sous x86Les conventions de passage de paramètres sous x86 Introduction Cdecl Stdcall Fastcall Register Pascal Sources de ce document et liens Lorsqu'un programme est compilé pour une architecture x86, le passage de paramètres pour... www.commentcamarche.net/faq/sujet-4874-programmation-conventions-de-passage-de-parametres-sous-x86
Convertir une page de man au format PDFConvertir une page de "man" au format "pdf" Avec fichier temporaire man -t bash > bash.ps && ps2pdf bash.ps && rm -f bash.ps Sans fichier temporaire, lecture depuis STDIN man -t bash | ps2pdf - > bash.pdf www.commentcamarche.net/faq/sujet-5975-convertir-une-page-de-man-au-format-pdf
Char(9) ---> std::string en c++ (Résolu)Bonjour, Je cherche une façon de prendre un char(9) et de le mettre en std::string en c++... Quelqu'un a une idéé? Merci ! www.commentcamarche.net/forum/affich-7628123-char-9-std-string-en-c
C++, convertir en string (Résolu)Bonjour, J'ai un petit probleme avec un programme en C++: j'ai une classe: class pere{ public: std::string reqDate( ) const; private: Util::Date date;} où Util est un "namespace dans le fichier "Date.h". Ma question est comment faire pour... www.commentcamarche.net/forum/affich-2391505-c-convertir-en-string
Passer un char à const char* (Résolu)Bonjour, J'ai une fonction dont le prototype est tel que: fonction( const char *text) PROTOTYPE a l 'utilisation si je tape fonction( "une phrase" ) CA MARCHE si je tape char lettre='A' fonction( &lettre) CA NE MARCHE PAS . Sauriez... www.commentcamarche.net/forum/affich-6779592-passer-un-char-a-const-char
Télécharger MPEG StreamclipMPEG Streamclip est un puissant convertisseur, lecteur et éditeur de vidéos. Il permet la lecture de fichiers vidéos, non pas uniquement les MPEGs. Il peut aussi convertir les fichiers MPEGs entre les formats "muxed/demuxed". En plus de la conversion... www.commentcamarche.net/telecharger/telecharger-34056330-mpeg-streamclip
Télécharger Buddy Icon Constructor Les icônes disponibles sur le web ou sur votre base de donnée sont certes nombreuses, mais ce sont généralement des icônes préfabriquées. Icon Constructor est un outil permettant la conversion d'images de tout format en icônes de bureau. Vous pouvez... www.commentcamarche.net/telecharger/telecharger-34055829-buddy-icon-constructor
Télécharger WBS Chart ProWBS Chart Pro est un outil de gestion de projet qui utilise des diagrammes et des arborescences structurés pour designer graphiquement un projet. Etant en même temps un outil autonome , il peut collaborer avec Microsoft Project comme outil de... www.commentcamarche.net/telecharger/telecharger-34056852-wbs-chart-pro
Toutes les réponses pour « Conversion de std string a const char * »