moloko2000
Messages postés16Date d'inscriptionmardi 5 août 2003StatutMembreDernière intervention26 août 2003
-
20 août 2003 à 09:37
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019
-
20 août 2003 à 10:14
Lorsque je concatène une chaine de caractère avec strcat
par exemple:
strcat(retour_search,temp );
retour_search à la valeur suivante:
????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????²²²²81072 1 DURAND
HENRI 1400895652001 19400802
Comment supprimer les premiers caractères bidons:
????????????????????????????????
Je veux uniquement conserver ce qui suit:
81072 1 DURAND
HENRI 1400895652001 19400802
Extrait de code:
retour_search=(char*)malloc(sizeof(char)150*200);
temp=(char*)malloc(sizeof(char)100);
strcat(retour_search,"\r");
strcat(retour_search,"\t");
itoa(tab_res[i].s400id,temp,10); ///tab_res[i].s400id est un int
strcat(retour_search,temp);////retour search et temp sont des char*
////c'est à ce moment là qu'il me met des caractères bidons
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 20 août 2003 à 09:49
retour_search=(char*)malloc(150*200);
temp=(char*)malloc(100);
//strcat(retour_search,"\r"); // NON, ou est le ZERO pour strcat ???
retour_search[0] = '\r';
retour_search[1] = '\t';
ce qui suit irait bon mais inutile
itoa(tab_res[i].s400id,temp,10);
retour_search[2] = 0; // pour le strcat suivant
strcat(retour_search,temp);
maintenant on fait mieux:
retour_search=(char*)malloc(150*200);
// suppression de temp
retour_search[0] = '\r';
retour_search[1] = '\t';
itoa(tab_res[i].s400id, retour_search + 2, 10);
// FINI !!!
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 20 août 2003 à 10:14
Donc concat en boucle, bien msieur.
char *rsearch=(char*)malloc(150*200);
char *c = rsearch;
for(i=0;i<nb_enr_retour;i++)
{*c++ '\r'; *c++ '\t';
itoa(tab_res[i].s400id, c, 10);
while(*c) c++; // va sur zero final
}
// FINI sans temp ni strcat !!!
BruNews, ciao...