cs_Booster
Messages postés235Date d'inscriptionmercredi 30 octobre 2002StatutMembreDernière intervention 6 octobre 2009
-
5 oct. 2006 à 22:30
cs_Booster
Messages postés235Date d'inscriptionmercredi 30 octobre 2002StatutMembreDernière intervention 6 octobre 2009
-
7 oct. 2006 à 10:00
Bonjour,
Alors voila je veux tout simplement assosier 2 chaines de caractere mais jaimerais le faire sans passer par une variables intermediaire je m'explique, je voudrais que la 2eme chaine soit à la suite de la premiere mais sans toucher à la premiere et sans passer par du temporaire.
Voici mon code (vous comprendrer mieu)
//ça c'est ce que j'AI (et qui marche : en passant par une variable temporaire)
char temp[2000];
strcpy(temp,RepertoireDefaut); //RepertoireDefaut est un char*
//Ouverture du fichier
idfichier=fopen(temp,"wb");
//ça c'est ce que j'AIMERAIS avoir
char numfic[10];
itoa(NumFichierEnCours,numfic,10);
//Ouverture du fichier
idfichier=fopen(RepertoireDefaut+numfic,"wb");
Voila enfet jaimerais faire le truc que jai mi en rouge est qui est ABSOLUMENT FAUX je m'en rend bien compte mais je ne voi pas le moyen de faire ça. Quelqu'un pourait me mettre sur la voi ?
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 200915 6 oct. 2006 à 22:41
Non ça n'existe pas. Une fonction qui retourne un char * retourne enfait une adresse vers une chaine de caractère en mémoire. Ceci signifie que ta chaine concaténée se retrouvera en mémoire peut-importe la façon de procéder. Tu n'aura donc pas le choix que de passer par une troisième chaine pour concaténer 2 chaines tout en voulant les garder inchangée.
C++ (@++)
___________________________________________
Les plus grands esprits trouvent toujours une solution<!--
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 6 oct. 2006 à 12:28
Mettre la ligne strcat sur la ligne fopen ne changera pas le code du compilo d'un iota.
strcat provoque 2 parcours de la 1ere chaine insérée dans temp[], reste acceptable si on ne cherche pas les perfs optimales.
sprintf, evacuons le sujet sinon je deviendrais grossier.
cs_Booster
Messages postés235Date d'inscriptionmercredi 30 octobre 2002StatutMembreDernière intervention 6 octobre 2009 6 oct. 2006 à 18:41
Bonjour,
Merci pour toute cette activiter autour de mon probleme, enfet je veu simplement eviter de passer par un fichier temp
strcat(RepertoireDefaut, numfic) << ceci ne me convient pas car je ne veu pas toucher à mon RepertoireDefaut
char temp[256] = "";
sprintf( temp, "%s%d", RepertoireDefault, NumFichierEnCours );<< la aussi tu passe par une variable temporaire et jaimerais evité cela
En realiter je cherche une fonction qui me retourne un char * lorsque je lui donne 2 char * à concaténé.
Mais enfet je pense que cette fonction n'existe pas. (Si quelqu'un pouvais me le confirmer)(De toute manière au pire je la code)