Bonjour,

Une fois de plus je m'arrache les cheveux avec cette fichue fonction strsep. Je comprends pas
J'ai un fichier avec tout plein de lignes du genre"_0__X:_2598___\tY:1612__L:6565" où _ est un espace et \t une tabulation.

Je cherche à extraire le 2598 et le 6565.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
valeurX = malloc(sizeof(char)*5);
valeurY = malloc(sizeof(char)*5);
if(chaine != NULL)
    strsep( &chaine , "X: " ); // je le fais une fois dans le vide. Normalement, la valeur renvoyé est "_0__", et ma variable 'chaine' devient "_2598___\tY:1612__L:6565"
if(chaine != NULL)
    valeurX = strsep( &chaine , " " ); // chaine devient "___\tY:1612__L:6565" ou "\tY:1612__L:6565" ou encore "Y:1612__L:6565" je ne sais pas, mais ça n'a pas d'importance
if(chaine != NULL)
    strsep( &chaine , "Y: ");
if(chaine != NULL)
    valeurY = strsep( &chaine , " " );
Sauf que bien sûr, ça ne fait pas du tout ce que je veux. D'habitutde je m'en sors avec moult tatônnements, mais cette fois j'aimerais bien avoir une explication un peu plus détaillée que celle du man sur ce que fait cette fonction...

Sinon pour faire ce que je veux faire, il y a une autre méthode plus adaptée ? Aaah, en Perl, comme ce serait facile