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 :

[Debutant] Manipuler les int dans un string


Sujet :

C++

  1. #1
    Membre éprouvé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2007
    Messages
    979
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 979
    Points : 1 256
    Points
    1 256
    Par défaut [Debutant] Manipuler les int dans un string
    Bonjour,

    j'ai des fichier avec des noms : Data_001.txt , Data_002, ....

    Je veux demander à l'utilisateur de rentrer un nomde fichier (Exemple 2) pour charger le fichier Data_002 .

    Comment je peux creer un string 'Data_i' a partir de i , avec la contraint que le i dans le string doit contenir 3 chiffre pour coller avec le nom du fichier ?

    Exemple :

    10 -> Data_010
    1 -> Data_001
    100 -> Data_100


    Merci

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 578
    Points
    41 578
    Par défaut
    Avec un ostringstream et les manipulateurs de flux qui vont bien: setw() et setfill().
    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #include <string>
    #include <sstream>
    #include <iomanip>
    using namespace std;
     
    ...
    ostringstream oss;
    oss << "Data_" << setfill('0') << setw(3) << i;
    string s = oss.str();

  3. #3
    Membre éprouvé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2007
    Messages
    979
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 979
    Points : 1 256
    Points
    1 256
    Par défaut
    J'ai essayer votre technique , mais sans resultat. Plutot j'arrive à former le string voulu, mais cela ne passe pas dans le constructeur de std::fstream

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     /* Load Data */
      char b[10];
      printf ("Data Set [0;8]: ");
      scanf ("%s", b);
      std::ostringstream _oss;
      _oss << "Data/Data_" << std::setfill('0') << std::setw(3) << b;
      std::string s = _oss.str();
     
      std::fstream file(s);   // !!!!!!!!!!!!!  ne compile pas !!!!!!!!!

  4. #4
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    Un std::fstream prend en paramètre un char*. Pour obtenir un char* à partir d'un string s, utiliser s.c_str();

  5. #5
    Membre éprouvé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2007
    Messages
    979
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 979
    Points : 1 256
    Points
    1 256
    Par défaut
    Merci beaucoup, le code est un bizard avec toutes les conversions , mais ça marcheeeeeeeeee,


    encore merci .

  6. #6
    Membre chevronné
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Points : 2 107
    Points
    2 107
    Par défaut
    Je dirai que ce qui est bizarre dans ton code, c'est le printf, mais bon....


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Les espaces dans une String vers une <TextArea>
    Par loopx dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 21/03/2008, 14h37
  2. [Debutant] recuperer un chiffre dans un string
    Par alain.lc dans le forum C
    Réponses: 19
    Dernier message: 27/07/2006, 20h36
  3. Réponses: 7
    Dernier message: 15/02/2006, 17h13
  4. [DEBUTANT]Recherche mot contenu dans une String
    Par lynxman dans le forum Langage
    Réponses: 7
    Dernier message: 16/12/2005, 11h49
  5. Réponses: 3
    Dernier message: 13/10/2004, 10h43

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