Concatenation de chaines de caracteres - C++ - Programmation
Marsh Posté le 26-11-2002 à 15:09:07
ReplyMarsh Posté le 26-11-2002 à 15:16:43
je dois faire comme ca?
scanf("%s",nom_entree_Ior);
strcat("../images/original_images/" , nom_entree_Ior );
et apres pour que ce soit mis ds une vriable de type char??
Marsh Posté le 26-11-2002 à 15:17:44
Ne pas oublier de prévoir assez de place dans la chaîne destinatrice pour contenir le tout .
char ChaineDestin[256]; // 255 caract et le zéro terminal
strcpy(ChaineDestin, "../images/original_images/" );
strcat(ChaineDestin, nom_entree_Ior);
ou sprintf(ChaineDestin, "%s%s", "../images/original_images/" , nom_entree_Ior);
voire
sprintf(ChaineDestin, "../images/original_images/%s", nom_entree_Ior);
si le ../ / est invariable (???).
Marsh Posté le 26-11-2002 à 15:19:59
tertulia a écrit a écrit : je dois faire comme ca? scanf("%s",nom_entree_Ior); strcat("../images/original_images/" , nom_entree_Ior ); et apres pour que ce soit mis ds une vriable de type char?? |
mieux:
chaine_destination doit etre alloue a une taille suffisante biensur!
Code :
|
Marsh Posté le 26-11-2002 à 15:20:37
je veux bien mais ca marche pas!!
si qqu peux me l'ecrire correctement ce serait cool parce que là je me galere a entree tout le path a chaque fois et c'est lourd..
Marsh Posté le 26-11-2002 à 15:22:25
nicolasm a écrit a écrit :
|
c'est quoi ce truc
ça va planter, tu ajoute une chaîne à la fin d'une constante
Marsh Posté le 26-11-2002 à 15:22:30
tertulia a écrit a écrit : je veux bien mais ca marche pas!! si qqu peux me l'ecrire correctement ce serait cool parce que là je me galere a entree tout le path a chaque fois et c'est lourd.. |
essai de mettre \ au lieu de / ca ira mieux car ca doit etre ton compilo qui aime pas ou alors mets //
Marsh Posté le 26-11-2002 à 15:23:48
nicolasm a écrit a écrit : essai de mettre \ au lieu de / ca ira mieux car ca doit etre ton compilo qui aime pas ou alors mets // |
c'est le contraire, c'est le \ qui doit être doublé, pas le /
Marsh Posté le 26-11-2002 à 15:24:23
antp a écrit a écrit : c'est quoi ce truc ça va planter, tu ajoute une chaîne à la fin d'une constante |
non strNcat renvoi une variable contenant la concaténation des deux variables ou constantes en paramètres.
je l utilise des centaines de fois dans mon prog
Marsh Posté le 26-11-2002 à 15:25:16
antp a écrit a écrit : c'est le contraire, c'est le \ qui doit être doublé, pas le / |
oups sui allé un peu vite
Marsh Posté le 26-11-2002 à 15:26:17
nicolasm a écrit a écrit : non strNcat renvoi une variable contenant la concaténation des deux variables ou constantes en paramètres. je l utilise des centaines de fois dans mon prog |
t'emploies quel compilo pour avoir ce comportement particulier ?
Marsh Posté le 26-11-2002 à 15:26:47
nicolasm a écrit a écrit : mieux: chaine_destination doit etre alloue a une taille suffisante biensur!
|
...super, tu réussi à rendre incompréhensible un truc tout bête !
Marsh Posté le 26-11-2002 à 15:27:06
antp a écrit a écrit : t'emploies quel compilo pour avoir ce comportement particulier ? |
Dev-C++
mais si ca se passe pas comme ca sous tout les compilos alors que strncat est censé être std ca va me posé un problème va falloir que j inverse certain const avec mes variables c chiant!
Pourtant j ai pas d erreur louche!!!!hyper louche!!!
Marsh Posté le 26-11-2002 à 15:28:12
Mais non, c impossible, strncat ajoute à la chaine passée en paramètre un, celle passée en 2. Elle te rend un pointeur vers la chaine passée en 1er paramètre (celle recevant la concaténation) !
Marsh Posté le 26-11-2002 à 15:28:16
nicolasm a écrit a écrit : Dev-C++ |
gcc donc...
on doit pas avoir la même version du compilo et de la doc
Marsh Posté le 26-11-2002 à 15:29:08
El_Gringo a écrit a écrit : Elle te rend le 2e paramètre ! |
elle rend le 1er plutôt
Marsh Posté le 26-11-2002 à 15:29:26
L'art du C compact...
Faut penser à nous autres qui ne sommes pas des pros, une variable intermédiaire, ça rend service pour lire plus facilement le code des autres...
Ai oublié le "..\\toto\\" si windows.
Marsh Posté le 26-11-2002 à 15:30:39
antp a écrit a écrit : elle rend le 1er plutôt |
Salaud, t'as choppé mon erreur avant que j'la corrige !
Marsh Posté le 26-11-2002 à 15:02:51
commnent regrouper deux chaines de caractere en C
un est saisie par l'utilisateur et est dc ds un tampon et l'autre est du type ../images/
voila si vous pouviez m'aider se serait cool
merci