| 12
 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;
 
} |