cs_nitrique
Messages postés344Date d'inscriptionjeudi 1 mai 2003StatutMembreDernière intervention 4 avril 2011
-
20 avril 2005 à 16:47
luhtor
Messages postés2023Date d'inscriptionmardi 24 septembre 2002StatutMembreDernière intervention28 juillet 2008
-
20 avril 2005 à 23:45
Bonjour,
Je sais que la question a été posée sous des angles différents mais rien n'y fait.
J'aimerais passer mon tableau de char à ma fonction par adresse, et ça plante:
(de quel type sont les pointeurs ?)
void traiteChaine(char*str) { // ma fonction
&str[1] = 'e';
}
cs_nitrique
Messages postés344Date d'inscriptionjeudi 1 mai 2003StatutMembreDernière intervention 4 avril 20111 20 avril 2005 à 17:28
Salut Arnotic,
Merci, c résolu.
En fait j'ai vu que tu mîtrisait les pointeurs, malgré avoir lu ta source, je bloque, peux tu m'aider stp.
J'ai une chaine que je vourdrais nettoyer:
de: str = "un;deux ;trois";
Je voudrais faire: str = "un;deux;trois";
J'ai essayé strrchr mais sans résultat, je me suis fait cette fonction:
void traiteChaine(char *str) { // lMaxFic
int i,passe=0;
char tmp[lMaxCode],*ptr;
//ptr = strrchr(str,';');
if (ptr) {
for (i=strlen(str)-1;i>=0;i--) {
if ((passe==1) && (str[i]!=' '))
break;
if (str[i]==';') {
ptr = &str[i];
passe = 1;
}
}
&str[i++] = ptr; // La ca plante
}
}
En fait, je voulais récuperer l'adresse d'ou il faut reprendre pour la coller à la ou il faut arreter mais ça plante, as tu une idée ?
cs_nitrique
Messages postés344Date d'inscriptionjeudi 1 mai 2003StatutMembreDernière intervention 4 avril 20111 20 avril 2005 à 17:34
Heuuuu, je vous la remet en plus propre.
En fait, je voulais faire du raboutage:
void traiteChaine(char *str) { // lMaxFic
int i,passe=0;
char *ptr;
for (i=strlen(str)-1;i>=0;i--) { // On parcours la chaine en partant de la fin
if ((passe==1) && (str[i]!=' ')) // La ou il faut arreter, on stoppe
break;
if (str[i]==';') { // La ou il faut reprendre, on garde le pointeur
ptr = &str[i];
passe = 1;
}
}
&str[i++] = ptr; // on réaffecte le pointeur
}
David, à VERSAILLES
Vous n’avez pas trouvé la réponse que vous recherchez ?