2015-07-11 1 views
-1

Je veux créer un fichier mappé en mémoire sur Windows (la méthode que je connais est CreateFileMapping de WINAPI s'il y a d'autres méthodes, merci de les mentionner), puis utiliser fread pour lire, -il possible de lire à partir de fread? si c'est possible, est-ce une bonne programmation? Est-ce efficace?Créer un fichier mappé en mémoire et l'utiliser avec fread sur windows

Merci.

+0

La méthode standard pour écrire et lire depuis la mémoire (avec un mappage de fichier) est [memcpy] (https://msdn.microsoft.com/fr-fr/library/dswaw1wk.aspx). Je n'ai pas la moindre idée, pourquoi vous voudriez utiliser Fread. – IInspectable

+0

@IInspectable: Ensuite, j'ai un "FICHIER *" et je souhaite en lire en utilisant memcpy! –

Répondre

0

fread() nécessite un FILE* pour lire.

Une fois que vous avez tracé le fichier en mémoire à l'aide MapViewOfFile(), vous pouvez envelopper le pointeur de la mémoire dans un FILE* en utilisant fmemopen(), si votre compilateur/rtl fournit une implémentation pour elle, ou si vous installez une application tierce pour votre compilateur .