J'ai réussi a bidouiller un truc avec fgets qui marche partiellement, maintenant j'ai un probleme de comptage.
pour que vous compreniez un peu plus prenons un exemple (en gros, le fichier sur lequel je fais mes tests a la con)
j'ai un fichier texte qui contient :
blah bleh bloh truc 5 truc blah
ce que je veux c'est récupérer "truc 5 truc".
je sais que cette chaine se trouve entre la 3eme et la 4eme tabulation.
j'ai les variables suivantes:
int main(void)
{
FILE *file;
char Buffer;
//char ptrMot;
char motVC[15];
int nbTab=0;
ce que je fais, c'est que je compte d'abord le nombre de tabulations:
---------------------------------------------
while (nbTab<3)
{
fread(&Buffer, 1, 1, file); //on range les caractere dans le buffer
if (Buffer=='\t') nbTab++;
---------------------------------------------------
ensuite, je calcule la taille du champ que je veux en comptant le nb de caractères jusqu'a la prochaine tabulation:
--------------------------
i=0;
fread(&Buffer, 1, 1, file);
while (Buffer!='\t') {i++;}
----------------------------
Enfin, j'extrait la chaine de longueur i et je la range la ou je veux:
-----------------------------
fgets(motVC,i,file);
-----------------------------
seulement voila, le programme ne s'arrete pas a la 4eme tabulation, donc je me retrouve avec motVC qui contient "truc 5 truc blah"
et n'etant pas le plus fortiche en C, j'arrive pas a trouver pq il s'arrete pas de compter après la 4eme tabulation pour calculer la longueur du champ/
une idée?
