lire un fichier

lire un fichier - C - Programmation

Marsh Posté le 09-12-2012 à 08:23:09    

saluuut :)  
je veux ecrire un programme C qui lit un fichier contenant une ligne de 3 entiers séparés par des espaces (exp 2 1 3). J'ai essayé ce travail el le programme m'affiche "erreur" meme si le fichier n'est pa vide :(

Code :
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4. /***/ void main ()
  5. {
  6.           int s,n,p, ;
  7.        
  8.   FILE* fichier = NULL;
  9. fichier = fopen("c:\\fich","r" )   
  10.        if (fichier== NULL)
  11.        printf("erreur" );
  12.        else
  13.       {
  14.         fscanf (fichier,"%d %d %d ",&s,&n,&p );
  15.              printf("%d %d %d ",s,n,p);
  16. fclose(fichier);
  17. }
  18. }


Message édité par zizotta le 09-12-2012 à 11:07:00
Reply

Marsh Posté le 09-12-2012 à 08:23:09   

Reply

Marsh Posté le 09-12-2012 à 08:45:16    

Tu cherches à ouvrir le fichier "c:\fich", le fichier existe bien ?
 
Au passage, c'est int main() pas void.


---------------
Perhaps you don't deserve to breathe
Reply

Marsh Posté le 09-12-2012 à 08:48:48    

oui le fichier existe, et j'ai essayé aussi avec int main mais mem rslt toujours

Reply

Marsh Posté le 09-12-2012 à 09:37:33    

regarde la valeur de errno ( sous linuxoides ), ou GetLastError() ( sous windows-like, encore que j'ai un doute pour fopen, c est ptet bien errno aussi ) , ca te donnera une indication pourquoi la fonction fopen échoue.
 
Cela peut être parce que le fichier n'existe pas, ou parce qu'il est déjà ouvert par un autre processus en accès exclusif, ou encore autre chose.
 
 
system error code windows : http://msdn.microsoft.com/en-us/li [...] 85%29.aspx
 
errno by platform : http://www.ioplex.com/~miallen/errcmp.html
 


Message édité par xilebo le 09-12-2012 à 09:39:13
Reply

Marsh Posté le 09-12-2012 à 12:57:40    

A tout hasard, le C devrait pas être en majuscule, "C:\\fich" et non "c:\\fich"?
Et sinon, il n'a pas d'extension (.txt ou autre) le fichier que tu veux ouvrir?
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed