IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

copier un char dans une string


Sujet :

C++

  1. #1
    Membre confirm�
    Inscrit en
    Octobre 2007
    Messages
    109
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 109
    Par d�faut copier un char dans une string
    bonjour

    petite question bete mais la je bloque betement, je suis ceetain de l avoir deja fait , mais le je ne voie pas...

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    FILE* flux
    char buff [500];
    flux = popen (" blablablablabl","r");
    fgets(buff,500,flux);
    string ligne ;
     
     
    while (!eof (flux))
    {
     
    printf(" %s",buff);
    ici je voudrai copier le buff dans ma string ligne mais je ne sais pas comment


    la jevoudrai mettre un truc du genre
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    if (ligne.compare(0.24"blablablabal"==0)
    {
    Merci

  2. #2
    Membre �m�rite
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    780
    D�tails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations forums :
    Inscription : Mai 2006
    Messages : 780
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    std::string ligne( buff );
    ou
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    std::string ligne;
    ligne += buff;

  3. #3
    Expert �minent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activit� : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par d�faut
    Salut,

    Une question peut �tre idiote, mais qui n'est due qu'au manque de pr�cision que tu as donn�...

    Pourquoi ne pas, tout simplement, utiliser un ifstream et directement lire la ligne avec une std::string, sous une forme proche de
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    std::ifstream ifs("mon_fichier.txt");
    std::string ligne;
    while(std::getline(ifs,ligne))
    {
       // ce qui doit être fait pour la ligne lue
    }
    On ne le r�p�tera jamais assez: il est toujours conseill� de pr�f�rer les outils propres au C++ aux capacit�s h�rit�e du C
    A m�diter: La solution la plus simple est toujours la moins compliqu�e
    Ce qui se con�oit bien s'�nonce clairement, et les mots pour le dire vous viennent ais�ment. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 f�vrier 2014
    mon tout nouveau blog

  4. #4
    Membre confirm�
    Inscrit en
    Octobre 2007
    Messages
    109
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 109
    Par d�faut
    merci pour l info.

    bien... ce que je fait avec popen, c est recupere la sortie (console) d un programme. et il me semble que popen etait tout conseiller pour ca.

    et je ne sais pas si ifstream peux executer un prog et recupere ca sortie.
    docn j y suis aller avec ce que je connai

    ifstream peu le faire ?? il me semble que non..

  5. #5
    Expert confirm�
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    D�cembre 2003
    Messages
    3 549
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 3 549
    Par d�faut
    popen est une fonction C, �a ne g�n�re donc pas un flux C++. Tu peux wrapper �a, cependant.
    Si tu utilises GCC, tu peux utiliser une de ses extensions qui permet de cr�er un flux � partir d'un file descriptor (�a doit �tre __gnu_cxx::stdio_filebuf)

  6. #6
    Membre confirm�
    Inscrit en
    Octobre 2007
    Messages
    109
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 109
    Par d�faut
    eu la je dois dire que je n ai rien compris.

    car avec popen, je parvien a executer et recupere le flux de mon programme, et apres je cherche juste a parser ce flux.

    et a part mon pb de convertion (trop bete) ca fonctionne bien pourtant,

    j utilise en effet gcc pour compiler

    mais pour le reste j aimerai des eclairsissement si possible pour que je me couche moins bete .
    merci

  7. #7
    Expert �minent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activit� : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par d�faut
    Excuses moi, je n'avais pas percut� sur le fait que, ce que tu voulais r�cup�rer, c'�tait la sortie console d'un autre programme...

    A ce niveau l�, le plus facile est sans doute d'appeler l'autre programme en demandant d'effectuer la sortie sur un fichier temporaire, puis de relire le fichier de mani�re classique

    Cela prendrait la forme de
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    int main()
    {
        system("test.exe >>fichier.txt");
        ifstream ifs("fichier.txt");
        /* traitement du fichier obtenu */
        return 0;
    }
    Il existe d'autres possibilit�s que certains estimeront sans doute plus propres � base de tube ou de pipes, mais elles seront sans doute bien plus compliqu�es

    Sinon, mais c'est limit� � l'application en cours, tu peux toujours envisager de rediriger le flux de sortie standard vers un flux de conversion, en te basant par exemple sur l'entr�e de la FAQ correspondante, et, utiliser ce flux de conversion pour r�cup�rer les donn�es qui t'int�ressent
    A m�diter: La solution la plus simple est toujours la moins compliqu�e
    Ce qui se con�oit bien s'�nonce clairement, et les mots pour le dire vous viennent ais�ment. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 f�vrier 2014
    mon tout nouveau blog

Discussions similaires

  1. Copier le contenu d'un xml dans une string
    Par Invit� dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 03/04/2013, 15h16
  2. [PowerShell] Gestion de "sp�cial char" dans une string: Invoke-Expression
    Par messinese dans le forum Scripts/Batch
    R�ponses: 1
    Dernier message: 16/05/2012, 13h52
  3. chercher une sequence de char dans un String
    Par gigabit32 dans le forum Langage
    R�ponses: 8
    Dernier message: 23/08/2011, 02h38
  4. Copier un fichier *.txt dans une string
    Par LGnord dans le forum Entr�e/Sortie
    R�ponses: 5
    Dernier message: 23/05/2008, 14h03
  5. R�ponses: 6
    Dernier message: 24/07/2003, 12h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo