Concaination

ALLAHIANE Messages postés 1 Date d'inscription mercredi 1 janvier 2003 Statut Membre Dernière intervention 4 mars 2003 - 4 mars 2003 à 15:55
jonathanmcdougall Messages postés 64 Date d'inscription dimanche 9 février 2003 Statut Membre Dernière intervention 7 mars 2003 - 6 mars 2003 à 09:50
allahiane said
Je veux savoir comment faire pour concatiner un entier evec
une chaine alpha exemple
int a
varcher b[2]

concat (b,a)

7 réponses

cs_pheno Messages postés 141 Date d'inscription mardi 30 avril 2002 Statut Membre Dernière intervention 23 mars 2005 1
4 mars 2003 à 16:05
essaye de convertir ton int en char
et apres avec la librairie string.h

tu utilises la fonction strcat()
resultat=strcat(b,a);

Chevalier Pheno Starboard, membre de la Freeman-Corp
0
crocejf2000 Messages postés 260 Date d'inscription lundi 27 janvier 2003 Statut Membre Dernière intervention 27 août 2008 1
4 mars 2003 à 16:45
Essay un vsprintf, comme ca tu n'a pas besoin de convertir en char et c'est assez polyvalent

ex :

char * ChaineFinal;
char * ChainedeDebut = "Voici ma chaine numero ";
int * aconcatener = 2;
vsprintf(ChaineFinal,"s%d%",ChainedeDebut,aconcatener);

A+,Hart
0
crocejf2000 Messages postés 260 Date d'inscription lundi 27 janvier 2003 Statut Membre Dernière intervention 27 août 2008 1
4 mars 2003 à 16:46
je crois que c'est pas "s%d%" mais "%s%d" enfin je sais plus
Hart
0
cmarsc Messages postés 455 Date d'inscription mercredi 6 mars 2002 Statut Membre Dernière intervention 18 décembre 2003
4 mars 2003 à 16:46
#include <stdio.h>
#include <conio.c>

int main(void) {

int l_entier = 5;
char la_chaine[10] = "le texte";
char resultat[15];

sprintf(resultat,"%d%s",l_entier,la_chaine);
cprintf("%s", resultat);
getch();
return 0;
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
superpa Messages postés 113 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 5 janvier 2004
5 mars 2003 à 08:58
L'idée est bonne, mais dans la pratique ton truc ne marche pas:
int * aconcatener = 2; ne peut marcher (erreur de compil)
faut donner une adresse à un pointeur
=> supprime l'étoile
int aconcatener = 2
Si tu veux vraiment utiliser un pointeur, il faut passer par un var temp (idiot mais bon):
int a = 2;
int *b = &a;
et alors
vsprintf(ChaineFinal,"%s%d",ChainedeDebut,*b);

on peut aussi ne pas utiliser chaniefinal:
vsprintf(ChaineDebut,"%s%d",ChainedeDebut,*b);

et enfin
attention au t'as oublié les NEW.
Je crois qu'il serait bon que tu revoies la théorie sur les pointeurs...
0
crocejf2000 Messages postés 260 Date d'inscription lundi 27 janvier 2003 Statut Membre Dernière intervention 27 août 2008 1
5 mars 2003 à 09:06
Merci de me l'avoir fait remarqué,mais je voulais mettre int aconcatener et pas int * aconcatener, j'était perdu dans mes etoile, et puis bon que je suis dessus depuis 8h l'écran ca fait mal a la tete lol.

A+ Hart
0
jonathanmcdougall Messages postés 64 Date d'inscription dimanche 9 février 2003 Statut Membre Dernière intervention 7 mars 2003
6 mars 2003 à 09:50
> allahiane said
> Je veux savoir comment faire pour concatiner un entier evec
> une chaine alpha exemple
> int a
> varcher b[2]
>
> concat (b,a)

# include <sstream>
# include

int main()
{

std::ostringstream oss;

int entier = 5;
int entier2 = 548;
char *s = "salut";

oss << entier << s << entier2;

std::cout << oss.str(); // 5salut548

}
0
Rejoignez-nous