Je suis une débutante en Langage et il y a quelques temps j'ai
travaillé sur les fichiers texte mais je ne m'en sors pas très bien,
serait-il possible d'avoir des liens ?
Comment fait_on un tri dans un fichier texte, enfin quelles sont les
opérations qui sont vraiment à connaitre sur un ficher texte ?
Merci pour ce lien mais en fait j'avais déjà ce qu'il y avait sur le site .
Je me suis peut être mal fait comprendre .... En fait j'ai un polycopié
avec toutes les façons d'ouvrir un fichier, toutes les fonctions qu'on
peut utiliser mais en fait mon problème c'est que quand on me donne un
problème sur un fichier texte je n'arrive pas à le résoudre donc est-ce
qu'il y a des petits programmes qui sont vraiment indispensables à
connaitre pour traiter des exercices sur des fichiers textes ?
Il existe plusieurs facon de lire un fichier en C. Comme tu lit du
texte, tu peux simplement lire caractere par caractere jusqu'a
rencontrer le caractere de fin de ligne : '\n' :
FILE *afile = fopen("fichier", "r+"); /* exemple au hasard*/
char read=0; /* init */
while (! eof(afile)) /* tant que le fichier est pas fini
{
fread(&read, sizeof(read), 1, afile); /*on lit un caractere */
printf("%c", read);
if (read == '\n') /* si caractere de fin de ligne */
printf("Fin de ligne\n");
}
PS : fread te permet aussi de lire n'importe quel type de données
ex : typedef struct exemple{
int a;
char truc[10];
}exemple; /* sizeof(exemple) vaut 4+10 = 14
tu peux ainsi faire :
exemple *aexemple = malloc(sizeof(exemple));
fread(aexemple, sizeof(exemple), 1, afile);
Le nombre 1 dans fread indique le nombre (ici de exemple) que tu veux lire dans le fichier.
Il existe plusieurs facon de lire un fichier en C. Comme tu lit du
texte, tu peux simplement lire caractere par caractere jusqu'a
rencontrer le caractere de fin de ligne : '\n' :
FILE *afile = fopen("fichier", "r+"); /* exemple au hasard*/
char read=0; /* init */
while (! eof(afile)) /* tant que le fichier est pas fini
{
fread(&read, sizeof(read), 1, afile); /*on lit un caractere */
printf("%c", read);
if (read == '\n') /* si caractere de fin de ligne */
printf("Fin de ligne\n");
}
PS : fread te permet aussi de lire n'importe quel type de données
ex : typedef struct exemple{
int a;
char truc[10];
}exemple; /* sizeof(exemple) vaut 4+10 = 14
tu peux ainsi faire :
exemple *aexemple = malloc(sizeof(exemple));
fread(aexemple, sizeof(exemple), 1, afile);
Le nombre 1 dans fread indique le nombre (ici de exemple) que tu veux lire dans le fichier.