Rechercher : dans
Par :

Lecture fichier texte langage C

Dernière réponse le 19 fév 2009 à 17:21:29 sebjuve, le 19 fév 2009 à 15:39:04 
 Signaler ce message aux modérateurs

Bonjour,

Voila j'essaye de lire le contenu d'un fichier mais je n'y arrive pas. Pouvez vous jeter un coup d'oeil au code pour me dire s'il y a une erreur que je n'ai pas vu. De plus j'ai essayé d'autres fonctions du langage C comme fgets ou fread sans plus de succès. Je vous joins le bout de code juste en dessous. Merci pour votre aide.


unsigned int n = 0;

FILE* file_scan ;
file_scan = fopen("/home/res_scan","r");

if (file_scan == NULL)
printf("Open Error\n");
else {
printf("File opened\n");

while(fgetc(file_scan) != EOF)
++n;

for(i=0;i<n;i++) {

if(fscanf(file_scan, "%c", &carac) == 1) { // Doesn't work ...
buf[i] = carac;
printf("%c",buf[i]);
}

}

Configuration: Windows Vista
Firefox 3.0.6

Meilleures réponses pour « Lecture fichier texte langage C » dans :
[MS-Dos] Ecrire dans un fichier texte en batch VoirPour écrire dans un fichier texte, il suffit d'utiliser une redirection ">" : echo texte_à_ecrire > fichier_de_sortie.txt Pour écrire à la fin d'un texte existant (concaténation) : echo "écriture a la fin du fichier ">>...
MySQL - Chargement d'un fichier texte dans une table VoirPour charger une fichier texte défini comme suit : $ tail /home/user1/test.txt 'nom1',1,9 'nom2',2,3 'nom3',3,54 'nom4',4,2 'nom5',5,9 Dans une table définie comme suit : CREATE TABLE chargertest ( ...
Caractéristiques du langage C++ VoirMatériel requis Pour être en mesure de tester les exemples fournis dans ce livre, vous devez disposer d’un éditeur de texte pour saisir le texte des fichiers source et d’un compilateur pour construire le fichier exécutable à partir de ce fichier...
Caractéristiques du langage C VoirLe fichier source Le fichier source d'un programme écrit en langage C est un simple fichier texte dont l'extension est par convention .c. Note d'un visiteur (J.Grondin) : L'extension est en minuscules. Le .C (majuscule) est interprété par...
Langage C++ - Les types de données VoirLes types de données Les données manipulées en langage C++, comme en langage C, sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître...

1

Nabla's, le 19 fév 2009 à 15:40:44

J'espere que tu fais ca sous linux .. file_scan = fopen("/home/res_scan","r");

Répondre à Nabla's

2

fiddy, le 19 fév 2009 à 15:42:21

Salut,

Essaie :

FILE* file_scan ;
file_scan = fopen("/home/res_scan","r");

if (file_scan == NULL)
     printf("Open Error\n");
else {
     printf("File opened\n");

     while(fgets(buf,sizeof buf,file_scan)!=NULL) {
          puts(buf);

     }
    fclose(file_scan),file_scan=NULL;
}

Google is your friend

Répondre à fiddy

3

Char Snipeur, le 19 fév 2009 à 16:21:42

Le problème vient de ton while(fgetc(....))n++;
après le while tu est à la fin du fichier, tu ne peux donc plus lire dedans, ce qu tu tente tout de même de faire juste après. Salutation ! (il faut bien que vous compreniez que j'ai TOUJ­OURS raison)
Char Snipeur

Répondre à Char Snipeur

4

 sebjuve, le 19 fév 2009 à 17:21:29

Ca marche correctement. J'ai compris ce que j'avais mal fait avec la commande fgets. Merci pour ton aide fiddy.

Répondre à sebjuve