pb SetDlgItemText() [MFC] - C++ - Programmation
Marsh Posté le 05-12-2002 à 18:06:06
ReplyMarsh Posté le 06-12-2002 à 00:55:18
Pour les fichiers exécutables, la seule solution que je voie est de lire ton fichier à l'avance et de remplacer tous les caractères problématiques (EOF notamment) par un caractère quelconque. Par contre, je ne vois pas trop l'intérêt d'afficher un fichier exécutable tel quel...
Pour les fichiers supérieurs à 64ko, il me semble que le problème ne se pose plus sur Windows 2000 et XP. Par contre, pour les autres il faut gérer ça manuellement (càd n'afficher qu'une partie du fichier dans ton edit).
Un petit conseil : essaie d'utiliser des memory-mapped files, ça évite d'avoir à charger le fichier complètement avant de l'utiliser et permet d'économiser de la mémoire. Par contre, c'est bien évidemment plus compliqué à programmer.
Marsh Posté le 06-12-2002 à 08:14:34
Pour les fichiers > 64Ko, tu peux utiliser un RichEdit et c'est bon :-)
Marsh Posté le 06-12-2002 à 17:16:38
gatorette a écrit : Pour les fichiers exécutables, la seule solution que je voie est de lire ton fichier à l'avance et de remplacer tous les caractères problématiques (EOF notamment) par un caractère quelconque. Par contre, je ne vois pas trop l'intérêt d'afficher un fichier exécutable tel quel... |
c paske j'essaie de faire un petit éditeur hexadécimal (je découvre les MFC en ce moment )
Citation : Pour les fichiers supérieurs à 64ko, il me semble que le problème ne se pose plus sur Windows 2000 et XP. Par contre, pour les autres il faut gérer ça manuellement (càd n'afficher qu'une partie du fichier dans ton edit). |
ok merci, mais euh, c koi les "memory-mapped files" ?
Marsh Posté le 06-12-2002 à 18:54:07
Oublie les "Memory Mapped Files" pour l'instant, c'est juste un truc un peu avancé qui permet de lire un fichier comme si c'était une zone de mémoire.
Pour ce que tu veux faire, tu peux peut être t'inspirer de ceci : http://www.codeproject.com/editctrl/hexedit.asp.
Marsh Posté le 04-12-2002 à 19:30:35
Hello,
Voilà je me sers de cette fonction pour afficher le contenu d'un ficher dans un champ CEdit, mais lorsque je charge des fichiers exécutables par exemple ça ne m'affiche que les 1ers caractères (à cause du caractère EOF), donc comment contourner ce pb ?
et comment charger des fichiers > 64 ko ?
merci d'avance
---------------
The N·Zone New Formation Official Website