Je dois concatener des chaines de caractere avec des entiers....
Comment dois je faire????
Version imprimable
Je dois concatener des chaines de caractere avec des entiers....
Comment dois je faire????
En C, je dirais allocation d'un buffer + sprintf()
(ou mieux, si disponible : snprintf() du C99, StringCb/CchPrintf() de Windows, asprintf() de POSIX, etc.)
j ai bien essayé avec sprintf mais ca donne rien...
pouvez vous me donner un bout de code en exemple pour concatener par exemple :
char test1[]="test";
int num=12;
char test2[]="ras";
merci par avance (code c ansi)
Bah, c'est très proche de printf(). Montre ton code.Citation:
Envoyé par thonyitii
bonsoir
Ce code marche, donc pas de problème avec sprintf. Pour concatenet utilise strcat.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 #include<stdio.h> #include<stdlib.h> int main(int argc, char ** argv){ char test1[]="test"; int num=12; char num_text[]=""; sprintf(num_text,"%d",num); printf("Voici num_text : %s", num_text); }
bosoir,
et le compilateur agrandi le tableau selon la taille du résultat :roll:Citation:
Envoyé par igorIgor
http://nicolasj.developpez.com/smileys/.sources.png Créer une chaîne de caractères formatée
Non, ce code est faux. Si ça marche, tu as beaucoup de chance.
ok merci.
ca marche bien avec le code sprintf....
Merci encore
meilleurs voeux a tous ...
Non. Dépassement de mémoire, comportement indéfini.Citation:
Envoyé par igorIgor
http://emmanuel-delahaye.developpez.com/notes.htm#ub
Le tableau num_text a une taile de 1 char. Si tu écris dedans autre chose que "", c'est le drame.
Je rappelle les règles :
- la chaine de destination doit être modifiable : OK
- la chaine de destination doit être suffisamment grande : KO !
Ouais, c'est dans le nouveau C07 : Elastic Arrays...Citation:
Envoyé par gege2061
On est pourtant pas le premier avril...
ok je suis d accord qu il faille plutôt ecrire :
char num_text[taille max];
c est plus correct et la place est determinée...
Merci
Bonjour,
Hum...Citation:
Envoyé par InOCamlWeTrust
J'aurais plutôt écrit Si ça marche, tu n'as vraiment pas de chance.
Car un programme qui fonctionne alors qu'il est faux, induit le programmeur en erreur, et le rend inattentif à ce qu'il a écrit.