Fonction strtok()
Résolu
Pouic182
Messages postés
15
Date d'inscription
Statut
Membre
Dernière intervention
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 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!
A voir également:
- Fonction strtok()
- Fonction si et - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Fonction remplacer sur word - Guide
- Fonction somme excel - 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