begin process at 2012 05 29 03:55:17
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Débutant(e)

 > 

Insérer la valeur d'une variable dans une chaine de caractère


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Insérer la valeur d'une variable dans une chaine de caractère

jeudi 5 juillet 2007 à 23:55:02 | Insérer la valeur d'une variable dans une chaine de caractère

Zakata

Bonjour,

(Je suis débutant en C++)
Est il posible d'insérer la valeur d'une variable (int, bool, float...) dans une chaine de caractère (string) ?
du genre :

#include <iostream>
#include <string>

using namespace std

int main(void)
{
    int i=648;
    string MaChaine;
    MaChaine+="Du text";
    MaChaine+=i;
}

Merci
Damien
vendredi 6 juillet 2007 à 08:52:15 | Re : Insérer la valeur d'une variable dans une chaine de caractère

laurent1024

Membre Club
Réponse acceptée !
										
												
# include <sstream>

int main()
{
//créerunfluxdesortie
std::ostringstream oss;
//écrireunnombredansleflux
oss <<10;
//récupérerunechaînedecaractères
std::string result = oss.str();
}
vendredi 6 juillet 2007 à 09:06:52 | Re : Insérer la valeur d'une variable dans une chaine de caractère

Yunchi

MaChaine = MaChaine + i;
vendredi 6 juillet 2007 à 12:46:49 | Re : Insérer la valeur d'une variable dans une chaine de caractère

Zakata

Ok merci pour vos réponses

Laurent1024->Je ne connais pas encore les flux.
<sstream> est il inclu dans <iostream> ?

Yunchi-> Je ne comprend pas chez moi ça ne marche pas,
si je fais


MaChaine = "ABC  " + i;
cout<< MaChaine;

il me sort : 'ABC  ?' quelque soit la valeur de i (pour les valeurs que j'ai essayé)

Bonnejournée
vendredi 6 juillet 2007 à 18:26:36 | Re : Insérer la valeur d'une variable dans une chaine de caractère

Yunchi

ah si i est un string je sais que ca marche comme ca mais pour un int alors je sais pas en C++

essaye : MaChaine.insert(MaChaine.length , i);
ou sinon MaChaine += i;

sinon le truc du flux a l'air de marcher :)

ostringstream oss;

string chaine = "MaChaine";
int i = !;

oss << MaChaine << i;
MaChaine = oss.str();

cout << MaChaine;

vendredi 6 juillet 2007 à 20:41:38 | Re : Insérer la valeur d'une variable dans une chaine de caractère

Zakata

Ok merci je vais tester la technique du flux


vendredi 6 juillet 2007 à 22:30:53 | Re : Insérer la valeur d'une variable dans une chaine de caractère

Zakata

Bon ca marche nickel il faut juste savoir que oss.clear() n'efface pas la chaine de charactère mais elle remet à zéro les bits d'erreur du flux.

sinon je vais encore abuser mais la fonction find() de la classe string me renvoie 4294967295 lorsqu'elle ne trouve pas le charatere rechercher. C'est quoi 4294967295 c'est le nombre max de charactères?
vendredi 6 juillet 2007 à 22:47:48 | Re : Insérer la valeur d'une variable dans une chaine de caractère

laurent1024

Membre Club
http://www.cplusplus.com/reference/string/string/find.html

Tu trouvera ce que tu veux :)
size_t find ( const string& str, size_t pos = 0 ) const;
size_t find ( const char* s, size_t pos, size_t n ) const;
size_t find ( const char* s, size_t pos = 0 ) const;
size_t find ( char c, size_t pos = 0 ) const;

str
string to be searched for in the object. The entire content of str must be matched in some part of the string to be considered a match.
s
Array with a sequence of characters.
In the second member function version, the size of the content to be matched is only determined by parameter n.
In the third version, a null-terminated sequence is expected, and its end is determined by the first occurrence of a null character in it.
n
Length of sequence of characters to search for.
c
Individual character to be searched for.
pos
Position of the first character in the string to be taken into consideration for possible matches. A value of 0 means that the entire string is considered.

Return Value

The position of the first occurrence in the string of the searched content.
If the content is not found, the member value npos is returned.
// different member versions of find in the same order as above:
found=str.find(str2);
if (found!=string::npos)
cout << "first 'needle' found at: " << int(found) << endl;

vendredi 6 juillet 2007 à 23:00:58 | Re : Insérer la valeur d'une variable dans une chaine de caractère

Zakata

Nickel merci encore

Damien


Cette discussion est classée dans : variable, valeur, caractère, chaine, insérer


Répondre à ce message

Sujets en rapport avec ce message

Récuération chaine de caractère taille variable stdin [ par omarino_007 ] Bonsoir, Je cherche a enregistrer une chaine de caractère (en pratique c'est le résumé d'un livre pour un projet de gestion de bibliothèque), que j'éc Comment afficher la valeur d'une variable dans un textbox [ par sokpassy85 ] Bonjour, Je voudrais afficher la valeur d'une variable x dans un textbox contenu dans un "Form". Par exemple si x = 4.5, aprés éxécution du programme [Programme en C] Gestion d'un fichier texte dans un programme en C [ par Azshari ] Bonjour à tous Mon problème est le suivant, j'ai un fichier .FIL que j'aimerai exploiter. Voila ce qu'on peut trouver dans ce fichier lorsqu'on l'o Insertion de la valeur d'une variable dans une autre variable [ par Co0ox ] Bonjour, Dans le cadre d'un TP UNIX, j'ai rencontré un problème. Comment pourrais-je faire pour que dans cette expression: [code=cpp]for e in $elem RS232 ou RS485 dial entre 2 pics [ par Pat2903 ] Bonjour je suis en projet pour crée un dialogue RS485 entre deux pics. Mon souci c'est que j'utilise MPLAB et le Compilateur C18. j'utilise la library lire une chaine de caractère caractère par caractère avec c++builder 6 [ par dl6 ] bon j'expose mon problème je dois lire des coordonnées de fabrication en norme iso qui sont stocké dans un fichier. je voudrai pourvoir les lire carac probleme sur c urgent SVP [ par majilion ] Bonjour je vous remercie d'abord d'essayer de resourde mon petit probleme. Mon souci c'est que dés ke j'execute un scanf ma variable perd sa valeur. Convertir une chaine de caractère [ par enoitnaillal ] Bonjour, peut-on convertir une chaine de caractères(string) en un entier(int)? Si oui, comment le programmer? [C++]Variable "infinity" [ par pop70 ] Bonjour à tous, voila, en essayant de trouver la valeur maximale d'un double, la console m'affiche "Infinty" [^^happy8]. J'aimerais connaître la val détecter si une chaine de caractère est vide [ par snake57 ] Bonjour à tous, Alors je suis en c++ et je lis une à une toute les lignes d'un fichier texte. Je range la ligne lue dans la variable "lignecourante"


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,998 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales