J'exporte une fonction de vC++ DLL pour écrire dans un fichier binaire. Dans le code C++ le fichier est ouvert à l'aideIncident de mode d'ouverture de fichier entre C# et C++
FILE* fp = ::_tfopen (FilePath, _T("a+b"));
I un en utilisant le mode "a+b"
pour ajouter le fichier plus tard et b est pour le mode binaire.
Maintenant j'importe cette fonction dans mon application C#. Lorsque je fais un appel à cette fonction à partir de C# avec les bons arguments, le fichier est écrit mais pas en mode ajout. Ce que je veux dire, c'est que la fonction ouvre le fichier mais ne semble pas s'ajouter à son contenu, à la place elle détruit son contenu et écrit tout ce que mes arguments C# sont.
La plate-forme est VS2005. Toute aide s'il vous plaît?
- Merci Viren
Importé des commentaires
[DllImport("NameOfTheDLL.dll", CharSet = CharSet.Ansi)]
public static extern int function_name(IntPtr ptr,
[MarshalAs(UnmanagedType.LPWStr)] string FilePath);
Après est l'appel à la fonction:
IntPtr ptr = some_Init_function();
function_name(handle, "C:\\FileName");
Viren, s'il vous plaît trouver le bouton Modifier et ajouter/corriger votre question plutôt que de mettre beaucoup de code dans un commentaire. –