Détail de chaque fonction du projet de pilote FAT16 avec un PIC18 : FatOnPic
FILE* fopen(const char* pathname, const rom unsigned char* mode);
Cette fonction ouvre le fichier contenu dans pathname et retourne un pointeur vers un stream de fichier si l'opération à réussi, dans le cas contraire, retourne NULL. Paramètres :
Cette fonction renvoie une valeur de type FILE* Exemple :
FILE* fd; // Créé une variable de type FILE fd = fopen("/toto.txt", 'r'); // Ouvre le fichier toto.txt à partir de la racine en lecture seule
int fread(char* buf, size_t size, size_t num, FILE fd);
Lit num éléments de fd dans le buffer pointé par buf et retourne le nombre d'éléments lus, la taille d'un élément est spécifié par par size. Paramètres :
Cette fonction renvoie le nombre d'élément lus. Exemple :
FILE* fd; // Créé une variable de type fd char cbuf; // Le buffer de 1 octet fd = fopen("/toto.txt", 'r'); // Ouvre le fichier toto.txt à partir de la racine en lecture seule fread(&cbuf, 1, 1, fd); // Lit un octet dans le fichier toto.txt et le place dans cbuf
void fclose(FILE fd);
Ferme le fichier correctement et libère la mémoire lui étant associé (si le fichier était en écriture, effectue un fflush). Paramètre :
Cette fonctione ne renvoie rien Exemple :
FILE* fd; // Créé une variable de type fd char cbuf; // Le buffer de 1 octet fd = fopen("/toto.txt", 'r'); // Ouvre le fichier toto.txt à partir de la racine en lecture seule fread(&cbuf, 1, 1, fd); // Lit un octet dans le fichier toto.txt et le place dans cbuf fclose(fd); // Ferme le fichier et libère donc la mémoire
unsigned char feof(FILE fd);
Retourne une valeur non nulle si la fin du fichier à été atteinte. Paramètre :
void rewind(FILE fd);
Réinitialise la position du pointeur au début du fichier. Paramètre :
unsigned long filesize(FILE fd);
Renvoie la taille du fichier spécifié par fd. Paramètre :
Les fonctions d'écriture n'étant pour l'instant non documenté car en cours de débuggage intensif :), ça ne devrait pas tarder !