Comment lire ou écrire à un fichier dans la mémoire ?

ilimo Messages postés 32 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 2 juin 2006 - 8 janv. 2004 à 11:28
sebseb42 Messages postés 495 Date d'inscription dimanche 6 juillet 2003 Statut Membre Dernière intervention 9 novembre 2007 - 8 janv. 2004 à 19:10
bonjour,
je sais ouvrir un fichier dans la mémoire..
mais comment le lire à partir de cette même mémoire ?

merci pour votre aide ...

-------------
j'utilise c++, visual net c++

4 réponses

gagaet22 Messages postés 32 Date d'inscription vendredi 7 février 2003 Statut Membre Dernière intervention 17 janvier 2005
8 janv. 2004 à 12:00
j' ai du mal comprendre mais regarde msdn à fgets, fscanf ou read !!!! sinon desolé si j ai mal compris !!!!
0
ilimo Messages postés 32 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 2 juin 2006
8 janv. 2004 à 12:23
je me corrige :

en fait on peut :
-soit ecrire/lire sur le disque dur
-soit ecrire/lire dans le buffer mémoire

mon probleme c'est comment désigner l'endroit où se trouve le ficher : disque dur ou mémoire

pour le disuqe dur j'ai aucun problème, mais pour la mémoire ?

ex : comment créer mimi.txt dans la mémoire et comment le lire dans cette même mémoire sans passer par le disque dur ?
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
8 janv. 2004 à 18:15
un fichier texte dans la memoire c'est une chaine de caractere (char *) !
0
sebseb42 Messages postés 495 Date d'inscription dimanche 6 juillet 2003 Statut Membre Dernière intervention 9 novembre 2007 1
8 janv. 2004 à 19:10
sinon tu peux jeter un coup d'oeil a mmap, mais je te conseil plutot :

int size;
char *mem_file;
FILE *fd;

fd = fopen(ton_fichier, "wb");
if (fd == NULL)
return (0);
fseek(fd, 0, SEEK_END); // place le pointeur fichier a la fin
size = ftell(fd); // obtenir la position du pointeur, donc la taille du fichier puisquil est a la fin
fseek(fd, 0, SEEK_SET); // remettre le pointeur fichier au debut

mem_file = malloc(size);
if (mem_file == NULL)
return (0);

fread(mem_file, 1, size, fd); // lit le fichier et le place dans ton buffer mem_file;

tu n'as plus qu'a parcourir mem_file et c'est regler
0
Rejoignez-nous