Vous ne connaissez pas le C++/CLI mais vous codez un truc comme :
pin_ptr<const wchar_t> wch =
PtrToStringChars(Patch);
Vous êtes en train de faire le l'interopérabilité entre du code managé (attention le C++ managé n'existe plus, c'était l'ancêtre du C++/CLI) et du code non managé ou natif.
C'est la partie la plus délicate du C++/CLI.
C'est comme manipulé de la nitroglycérine et sachant vaguement ce qu'est une mèche court pour un bâton de dynamite : le début de grosses désillusions.
Votre tâche est trivial en C++ standard ou en C++/CLI alors ne les mélanger pas.
Pour la version C++ standard voir le lien du post de jblecanard.
Pour du C++/CLI, pour lire un fichier texte : http://msdn.microsoft.com/fr-fr/library/bsy4fhsa.aspx
Mais il existe bien d’autres moyens plus pratiques en C++/CLI en fonction du format du fichier à ouvrir.
PS:
Patchchar = (char *)malloc(sizeInBytes);
C'est bien beau d'allouer de la RAM, mais faudrait peut-être l'initialiser avec la valeur de la chaîne, et de préférence en utilisant des chaines UNICODE et non ASCII car les primitives systèmes natives n'utilisent que cette version.
Partager