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 -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
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);
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:
- Associer un numero à chaque ligne lu dans le fichier
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
2 réponses
Bonjour,
Tu souhaites que le numéro de ligne soit affiché dans la console ou que le fichier soit modifié ?
Cdlt,
Tu souhaites que le numéro de ligne soit affiché dans la console ou que le fichier soit modifié ?
Cdlt,
varley
Messages postés
66
Date d'inscription
Statut
Membre
Dernière intervention
12
que le fichier soit modifie
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,
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,