1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
|
#include <stdio.h>
#include <conio.h> //pour getch()
#include <stdlib.h> //exit(0)(fonction terminator)
#include <io.h> //pour la fonction open
#include <fcntl.h> //pour les attributs O_CREAT,O_BINARY....
#include <sys/stat.h> //pour les attributs S_IREAD,S_IWRITE.....
#include <errno.h> // pour les attributs EACCESS....
#include <string.h> //pour strlen
//Prototype Terminator
void Fin (char* pMsg)
{
puts(*pMsg);
exit(0);
}
int main (void)
{
int iFichier,iBitsEcriture,iBitsLecture;
unsigned int nbits = 1024;
char buff[1024];
char *buffer = "test write";
long lTaille_fichier;
//test si fichier existe
if((_access( "data.txt", 0 )) != -1 )
{
printf( "Fichier data.txt existe\n" );
// Pour permission d'écriture
if( (_access( "data.txt ", 2 )) != -1 )
printf( "le Fichier data.txt est pret pour l'ecriture\n" );
}
else
{
switch(errno)
{
case EACCES :printf("accès interdit\n ");
break;
case ENOENT:printf("fichier ou chemin incorrect \n") ;
break ;
}
}
iFichier = open ("data.txt",O_BINARY|O_CREAT|O_RDWR,S_IREAD|S_IWRITE);
if(iFichier == -1) Fin("open : Fichier non ouvert");
else puts("Fichier cree");
/************Pour l'ecriture*******************/
iBitsEcriture = write(iFichier,buffer,strlen (buffer));
//test
if(iBitsEcriture == -1) Fin("Write : Erreur d'ecriture");
else printf("vous avez ecris %i bits dans le fichier data.txt\n",iBitsEcriture);
//Move a file pointer to the specified location
lseek(iFichier,0L,SEEK_SET);//on pointe à la au debut du fichier
/*************Pour la lecture**************/
iBitsLecture = read( iFichier, buff, nbits );
if( iBitsLecture == -1 ) puts( "Problem reading file" );
else
printf( "Vous avez lu %i bits dans le fichier Data.txt\n", iBitsLecture);
/*****************************************/
lTaille_fichier = iBitsLecture;
buffer =(char *)malloc(sizeof(char) *lTaille_fichier);
printf("voila ce qu'il y a dans buffer :***%s****\n",buffer);
close(iFichier);//fermeture du fichier
free(buffer);//liberation de l'espace alloué
getch();
getch();
return 0;
} |