Accés à un fichier en C

Résolu
saerlo Messages postés 27 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 30 août 2005 - 19 juil. 2005 à 16:34
saerlo Messages postés 27 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 30 août 2005 - 20 juil. 2005 à 11:53
Bonjour à Tous

Comment lire en C un fichier en précisant le chemin d'accés ?

7 réponses

BunoCS Messages postés 15330 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 novembre 2022 103
20 juil. 2005 à 10:33
euh... pardon:

FILE * fichier = fopen("C:\\test\\donnee\\resultat.txt", "w"); // mode lecture

Buno
----------------------------------------
L'urgent est fait, l'impossible est en train de se faire. Pour les miracles, prévoir un délai...
3
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
19 juil. 2005 à 16:41
Sujet abordé pour la x ème fois, fait une recherche.
0
saerlo Messages postés 27 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 30 août 2005
20 juil. 2005 à 09:22
Bonjour,

J'ai cherché partout sans résultat,

j'apprécierai vraiement votre aide précieuse.
0
BunoCS Messages postés 15330 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 novembre 2022 103
20 juil. 2005 à 10:03
Trouvé sur MSDN:



/* FREAD.C: This program opens a file named FREAD.OUT and
 * writes 25 characters to the file. It then tries to open
 * FREAD.OUT and read in 25 characters. If the attempt succeeds,
 * the program displays the number of actual items read.
 */

#include <stdio.h>

void main( void )
{
   FILE *stream;
   char list[30];
   int  i, numread, numwritten;

   /* Open file in text mode: */
   if( (stream =  fopen( "fread.out", "w+t" )) != NULL )
   {
      for ( i = 0; i < 25; i++ )
         list[i] = (char)('z' - i);
      /* Write 25 characters to stream */
      numwritten = fwrite( list, sizeof( char ), 25, stream );
      printf( "Wrote %d items\n", numwritten );
      fclose( stream );

   }
   else
      printf( "Problem opening the file\n" );

   if( (stream = fopen( "fread.out", "r+t" )) != NULL )
   {
      /* Attempt to read in 25 characters */
      numread = fread( list, sizeof( char ), 25, stream );
      printf( "Number of items read = %d\n", numread );
      printf( "Contents of buffer = %.25s\n", list );
      fclose( stream );
   }
   else
      printf( "File could not be opened\n" );
}





Output


Wrote 25 items
Number of items read  = 25
Contents of buffer = zyxwvutsrqponmlkjihgfedcb





Buno
----------------------------------------
L'urgent est fait, l'impossible est en train de se faire. Pour les miracles, prévoir un délai...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
saerlo Messages postés 27 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 30 août 2005
20 juil. 2005 à 10:19
Voila, dans mon programme l'utilisateur doit saisir un chemin d'accés à un fichier par exemple "c:\ test \ donnee \ resultat.txt", le programme doit accéder à ce fichier et compter le nombre de ligne.

Mais je ne sais pas comment préciser ce chemin d'acces au programme (je suppose par fopen()) pour lire le fichier ?
0
BunoCS Messages postés 15330 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 novembre 2022 103
20 juil. 2005 à 10:24
Exact. Mais fais attention à une chose: dans les chaines de caractères, il faut doubler le '\'.

par exemple, pour accéder à "C:\test\donnee\resultat.txt", il faut faire:



fopen("C:\\test\\donnee\\resultat.txt");

Buno
----------------------------------------
L'urgent est fait, l'impossible est en train de se faire. Pour les miracles, prévoir un délai...
0
saerlo Messages postés 27 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 30 août 2005
20 juil. 2005 à 11:53
MERCI !
0