Amanobuo
Messages postés65Date d'inscriptionmardi 24 février 2004StatutMembreDernière intervention11 décembre 2006
-
3 févr. 2006 à 14:56
Amanobuo
Messages postés65Date d'inscriptionmardi 24 février 2004StatutMembreDernière intervention11 décembre 2006
-
6 févr. 2006 à 21:43
Salut !
J aimerai savoir quoi utiliser pour ouvrir un "gros" fichier texte (environ 5ko)
avec fread, ca passe pas, ou j ai mal passe mes parametres... ?
Sinon, savez vous comment ouvir un fichier texte d'une lettre ou un mot definie a un autre mot ou lettre definie (ex : de '@' à ';').
KeniiyK
Messages postés326Date d'inscriptionvendredi 13 août 2004StatutMembreDernière intervention 2 novembre 20072 3 févr. 2006 à 20:28
5Ko un gros fichier ????, enfin... :
// ouvre le fichier
FILE *file=fopen("fichier.txt","rb");
// deplace le curseur a la fin
fseek(file,0,SEEK_END);
// taille du fichier
long sizeFile=ftell(file);
// on se repositionne au debut
fseek(file,0,SEEK_SET);
// allocation
char * buffer=(char*)malloc(sizeFile);
// lecture
fread(buffer,1,sizeFile,file);
// ferme le fichier
fclose(file);
Amanobuo
Messages postés65Date d'inscriptionmardi 24 février 2004StatutMembreDernière intervention11 décembre 2006 4 févr. 2006 à 19:36
ok, merci pour ces info !
cela marche tres bien,
cependant, quand je declare un char * buffer = (char*)malloc(sizefile + 1); dans ma fonction main, comment y acceder dans toutes mes autres fonctions (je ne peut pas declarer buffer en global, puisque il faut passer par main ou une autre fonction pour determiner sa taille).
Merci d avance :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
KeniiyK
Messages postés326Date d'inscriptionvendredi 13 août 2004StatutMembreDernière intervention 2 novembre 20072 6 févr. 2006 à 09:40
Je ne suis pas du tout d'accord avec le '\0' en fin de buffer pour 2 raisons :
- on connait la taille donc pas besoin d'info en plus.
- imagine qu'il y ai déjà un '\0' dans le buffer par exemple dans un fichier binaire, ton '\0' ne sert plus a rien.
Amanobuo
Messages postés65Date d'inscriptionmardi 24 février 2004StatutMembreDernière intervention11 décembre 2006 6 févr. 2006 à 21:43
re
C'est un fichier texte en effet.
Merci a vous tous pour ces info qui se completes bien ! j ai pu terminer cette partie de mon programme (en attendant de l optimiser, c'est deja un grand pas)
PS : 5Ko c'est pas mal pour un fichier texte (en nombre de caracteres), et le \0 fonctionne.