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 :

Chaine de caractere dynamique


Sujet :

C++

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2010
    Messages : 54
    Points : 40
    Points
    40
    Par défaut Chaine de caractere dynamique
    Bonjour, j'ai besoin de creer une interface utilisateur pour un projet. J'ai besoin de creer a partir d'un parametre utilisateur (tension) une chaine de caractere. Cette chaine de caractere se definit de la sorte:
    Elle commence toujours par "V1" et apres un espace je dois ajouter la tension indiquer par l'utilisateur. Voici un exemple:
    "V1 12" lorsque l'utilisateur indique 12 V
    "V1 100" lorsque l'utilisateur indique 100 V
    Le concept est assez simple a comprendre mais je ne sais pas comment realiser cela, avez vous des idees ?

  2. #2
    Membre expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Points : 3 156
    Points
    3 156
    Par défaut
    Salut

    Il y a toujours la solution facile du stringstream :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    #include <string>
    #include <sstream>
    #include <iostream>
     
    int main()
    {
    	// Données d'entrées
    	int tension = 100;
     
    	// Concatenation
    	std::ostringstream string_stream;
    	string_stream << "V1 " << tension;
     
    	// Recuperation sous forme de string
    	std::string resultat = string_stream.str();
    	std::cout << resultat << std::endl;
     
    	return 0;
    }
    Find me on github

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2010
    Messages : 54
    Points : 40
    Points
    40
    Par défaut
    merci beaucoup, cela fonctionne ! je veux egalement d'ajouter le caractere ";" ainsi qu'un prochain caractere a la suite. Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    int V1;
    	int V2;
    	int I1;
    	int I2;
    	std::ostringstream command1;
    	std::ostringstream command2;
    	std::ostringstream command3;
    	std::ostringstream command4;
     
     
    	printf("\nV1:");
    	scanf("%d",&V1);
     
    	printf("\nI1:");
    	scanf("%d",&I1);
     
    	printf("\nV2:");
    	scanf("%d",&V2);
     
    	printf("\nI2:");
    	scanf("%d",&I2);
     
     
    	command1 << "V1 " << V1;
    	command2 << command1 << ";";
    	command3 << command2 << I1;
    	command4 << command3 << ";";
     
    	std::string resultat = command3.str();
    	std::cout << resultat << std::endl;
    cela me retourne 8 chiffres hexa, comme une adresse, est-ce correcte ?

  4. #4
    Membre expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Points : 3 156
    Points
    3 156
    Par défaut
    Hello

    Tu fais trop de magouilles, il suffit de les ajouter dans le stream, pas besoin d'en créer de nouveaux !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    #include <string>
    #include <sstream>
    #include <iostream>
     
    int main()
    {
    	// Données d'entrées
    	int tension = 100;
    	int intensite = 10;
     
    	// Concatenation
    	std::ostringstream string_stream;
    	string_stream << "V1 " << tension << ";" << intensite << ";" << 0 << "Roger tu peux en mettre autant que tu veux ";
    	string_stream << "Et même sur une autre ligne de code ";
     
    	// Recuperation sous forme de string
    	std::string resultat = string_stream.str();
    	std::cout << resultat << std::endl;
     
    	return 0;
    }
    Et pense à utilise la balise [code].
    Sinon printf et scanf c'est du C et pas du C++, utilise plutôt std::cout pour remplacer printf et std::cin pour remplacer scanf.
    Find me on github

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2010
    Messages : 54
    Points : 40
    Points
    40
    Par défaut
    Merci beaucoup pour votre aide !!

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

Discussions similaires

  1. Taille Tableau indice Chaine de caractere dynamique
    Par iamslyper dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 19/04/2011, 20h30
  2. Réponses: 9
    Dernier message: 06/11/2007, 12h36
  3. Taille d'une chaine de caracteres dynamique
    Par BernardT dans le forum C
    Réponses: 5
    Dernier message: 01/11/2007, 02h31
  4. [LG]comparaison de chaines de caracteres
    Par thesam dans le forum Langage
    Réponses: 6
    Dernier message: 20/05/2003, 22h41
  5. Probleme sur les chaines de caractere
    Par scorpiwolf dans le forum C
    Réponses: 8
    Dernier message: 06/05/2002, 19h01

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