C lecture fichier txt ligne par ligne

Résolu
jerémiethe7 Messages postés 152 Date d'inscription   Statut Membre Dernière intervention   -  
letrancheur Messages postés 210 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

j'aimerai lire un fichier txt ligne par ligne. Le but serai de commencer la lecture lorque la ligne commencera par "<TD NOWRAP align".
J'ai essayé de faire quelque trucs mais vu que j'ai essayé avec le fscanf et une chaine, au 1er espace on change de chaine.
Voici un bout de mon code :

int i,j,nb=0;
int etatlecture;
char nom[100];
FILE*fichier=NULL;
fichier=fopen("palmares[1].txt","r");
if (fichier!=NULL)
{
etatlecture=fscanf(fichier,"%s",nom);
while (strncmp("<TD NOWRAP align",nom,2)!=0)
{
etatlecture=fscanf(fichier,"%s",nom);
}
// d'autres instructions....
}

Quand je compile pas d'erreurs mais j'obtient des chaines qui ne sont pas les lignes des mots.
J'avais déja essayé avec un fgets et des fseek pour changer de lignes mais vu que les lignes n'ont pas toutes la meme taille, c'est difficile.
Help please !!!
Merci.
A voir également:

18 réponses

jerémiethe7 Messages postés 152 Date d'inscription   Statut Membre Dernière intervention   32
 
efectivement j'y suis arrivé.
Pour ceux qui auront le meme pb que moi voici le code :

for (i=0;i<100;i++)
{
lettrenom=fgetc(fichier);
while (lettrenom != '\n')
{
nom[nb]=lettrenom;
nb++;
lettrenom=fgetc(fichier);
}
nom[nb]='\0';
printf("%s\n",nom);
strcpy(nom,"");
nb=0;
}

ça marceh nickel -> résolu
10
letrancheur Messages postés 210 Date d'inscription   Statut Membre Dernière intervention   7
 
Bonjour,
Je cherche a faire plus ou moins la même chose sauf que l'affichage des caractères par ligne dois s'arrêter avant la fin du nombre total de caractères sur ligne une idée?
Bien sur, il dois afficher les ligne suivant par après sur les lignes du tableau.
Voici ce que j'ai produis jusqu'à maintenant.
if (map!=NULL)
{
  do{
    do{
      carLu = fgetc(map);
      tabville[ligne][colonne]=atoi(&carLu);
      sprintf(TblMsg,"\x1b[1m%c",carLu);
      AfficherXY(TblMsg,posX+3,posY+4);
      posX+=2;
    }while (posX/2<wWidth/2-1-11);
  }while (posY/2<wHeight/2-6); 
  fclose(map);
}
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846 > letrancheur Messages postés 210 Date d'inscription   Statut Membre Dernière intervention  
 
Merci de créer ton propre post :-). Celui-ci est résolu depuis presque 6 ans...
0
letrancheur Messages postés 210 Date d'inscription   Statut Membre Dernière intervention   7
 
je l'ai également fait :)
0