All pastes #495947 Raw Edit

Unnamed

public c v1 · immutable
·published 2007-05-18 23:30 UTC
rendered paste body
#include <stdlib.h>#include <stdio.h>#include <string.h> #define BUF_LECTURE_FICHIER 300char* lire_fichier(FILE* fichier, int octet_debut, int octets_a_parcourir);int main(){	/* Initialisation */		FILE* fichier = NULL;		char *file_type = NULL;	int file_size = 0;	/* Ouverture du fichier */		fichier = fopen("tux.bmp","r+");	if(fichier != NULL)	{				file_type = lire_fichier(fichier, 0, 2);		file_size = atoi(lire_fichier(fichier, 2, 4));				printf("FileType : %s\nFileSize : %d\n",file_type,file_size);				fclose(fichier);	}	else 	{		printf("Impossible d'ouvrir le fichier\n"); 		}	return 0;}/* Permet de lire des parties du fichier */char* lire_fichier(FILE* fichier, int octet_debut, int octets_a_parcourir){	int i;	/* Petite vérification */	if(octets_a_parcourir > BUF_LECTURE_FICHIER)	{		printf("Buffer de lecture trop faible");		exit(0);	}	/* On prépare un espace mémoire pour placer la chaine */	char *chaine = malloc( (BUF_LECTURE_FICHIER+1) * sizeof(char) );		/* On se place à l'octet de début du fichier */	fseek(fichier, octet_debut, SEEK_SET);		/* On ajoute un à un les caractères */	for (i = 0 ; i < octets_a_parcourir ; i++)	{		chaine[i] = fgetc(fichier);	}		/* On termine proprement la chaine */	chaine[i+1] = '\0';		/* et on renvoit l'adresse d'où est stoquée la chaine */	return chaine;}