Fonction strtok()
Résolu
Pouic182
Messages postés
14
Date d'inscription
Statut
Membre
-
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je souhaiterais savoir les arguments de la fonction strtok(), si quelqu'un peut m'aider.
En effet, je cherche à remplacer mes ';' par des ' - ', mais lorsque que j'ai des ';' qui se suivent il ne m'affiche pas les ' - '.
Pour plus de faciliter voici un bout mon programme :
-->Programme :
lignes_coupees = strtok (contenu_par_ligne, ";");
while (lignes_coupees != NULL)
{
printf ("%s - ",lignes_coupees);
lignes_coupees = strtok (NULL, ";");
}
Exemple :
132456789;albert;nicolas;;;x
-->me donne : 132456789 - albert - nicolas - x
-->alors que je voudrais avoir : 132456789 - albert - nicolas - - - - x
Par avance merci!
Je souhaiterais savoir les arguments de la fonction strtok(), si quelqu'un peut m'aider.
En effet, je cherche à remplacer mes ';' par des ' - ', mais lorsque que j'ai des ';' qui se suivent il ne m'affiche pas les ' - '.
Pour plus de faciliter voici un bout mon programme :
-->Programme :
lignes_coupees = strtok (contenu_par_ligne, ";");
while (lignes_coupees != NULL)
{
printf ("%s - ",lignes_coupees);
lignes_coupees = strtok (NULL, ";");
}
Exemple :
132456789;albert;nicolas;;;x
-->me donne : 132456789 - albert - nicolas - x
-->alors que je voudrais avoir : 132456789 - albert - nicolas - - - - x
Par avance merci!
Configuration: Windows XP Firefox 2.0.0.20
A voir également:
- Fonction strtok()
- Fonction si ou - Guide
- Fonction trier excel - Guide
- Fonction remplacer word - Guide
- Fonction excel en anglais - Guide
- Fonction miroir - Guide
3 réponses
Salut Fiddy,
Dans un premier temps, je voudrai que ma variable contienne le changement pour pouvoir ensuite l'afficher.
Cordialement.
Dans un premier temps, je voudrai que ma variable contienne le changement pour pouvoir ensuite l'afficher.
Cordialement.
Tu pourrais utiliser :
L'appel à la fonction se ferait par : modif(nouvelleChaine, ancienneChaine, ';', " - " );
Par contre, il faut penser à réaliser l'allocation de nouvelleChaine. Mais bon, ça se fait simplement avec malloc. ;-)).
Cdlt
void modif(char *buf, const char *ch, char x, const char *motif){
size_t i,j=0;
for(i=0;i<strlen(ch);i++) {
if(ch[i]==x){
buf[j]='\0';
strcat(buf,motif);
j+=strlen(motif);
}
else
buf[j++]=ch[i];
}
}
L'appel à la fonction se ferait par : modif(nouvelleChaine, ancienneChaine, ';', " - " );
Par contre, il faut penser à réaliser l'allocation de nouvelleChaine. Mais bon, ça se fait simplement avec malloc. ;-)).
Cdlt