Associer un numero à chaque ligne lu dans le fichier

varley Messages postés 66 Date d'inscription   Statut Membre Dernière intervention   -  
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   - 12 nov. 2015 à 23:55
bonjour,
quelqu'un peut t'il m'aider j'aimerai associé un numéro à chaque ligne lu de mon fichier text telque

toto 1
rir 2

voici mon code

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#define MAX_LONG 1000

int main(){

char ligne[MAX_LONG] = "";
FILE* ptr=NULL;
ptr=fopen("fichier.txt","r+");
if(ptr!=NULL){
while(fgets(ligne,MAX_LONG,ptr) !=NULL){
printf("%s",ligne);
}

}else{
printf("impossible de lire dans le fichier");
}
fclose(ptr);
A voir également:

2 réponses

fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 845
 
Bonjour,

Tu souhaites que le numéro de ligne soit affiché dans la console ou que le fichier soit modifié ?

Cdlt,
0
varley Messages postés 66 Date d'inscription   Statut Membre Dernière intervention   12
 
que le fichier soit modifie
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 845
 
Bonjour,

Ok. Dans ce cas, tu crées un buffer de taille MAX_LONG + X (avec X le nombre de digits maximum de ton nombre. Par exemple X=7.

Ensuite, dans ta boucle while, au lieu de ton printf(), tu utilises sprintf() pour concaténer ligne avec ton nombre. Par exemple : sprintf(buffer, "%s %d", ligne, nombre); et tu écris buffer dans un fichier temporaire.

A la fin de ton while, il te suffira juste de supprimer le fichier et de renommer le temporaire.

Cdlt,
0