Je dois concatener des chaines de caractere avec des entiers....
Comment dois je faire????
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.Envoyé par thonyitii
bonsoir
Ce code marche, donc pas de problème avec sprintf. Pour concatenet utilise strcat.
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 #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ésultatEnvoyé par igorIgor
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.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...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...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.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager