C lecture fichier txt ligne par ligne

Résolu/Fermé
jerémiethe7 Messages postés 152 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 27 février 2009 - 20 janv. 2008 à 18:33
letrancheur Messages postés 210 Date d'inscription dimanche 14 juillet 2013 Statut Membre Dernière intervention 25 août 2020 - 29 déc. 2014 à 13:16
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 dimanche 2 décembre 2007 Statut Membre Dernière intervention 27 février 2009 32
22 janv. 2008 à 19:19
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 dimanche 14 juillet 2013 Statut Membre Dernière intervention 25 août 2020 7
Modifié par letrancheur le 29/12/2014 à 03:29
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 samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835 > letrancheur Messages postés 210 Date d'inscription dimanche 14 juillet 2013 Statut Membre Dernière intervention 25 août 2020
Modifié par fiddy le 29/12/2014 à 11:13
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 dimanche 14 juillet 2013 Statut Membre Dernière intervention 25 août 2020 7
29 déc. 2014 à 13:16
je l'ai également fait :)
0