compatibilité d'un String avec DLL en C
Bonjour,
Voici mon problème:
Sur mon interface VB, je demande à l'utilisateur de sélectionner un fichier sur son PC, j'obtiens donc le chemin absolu du fichier que je stocke dans une variable de type String.
Dans ce même programme en VB, j'utilise une DLL écrite en C. Dans ma DLL, j'ai une fonction qui prend en paramètre un tableau de caractère destiné à accueillir le String obtenu en VB pour pouvoir faire un fopen() du fichier sélectionné.
Travaillant sous windows, j'ai bien noté que le chemin devait être de la forme "C:\\..." et non "C:\..." j'ai donc bien transformé le String en VB grâce à un simple Replace().
Cependant, le résultat de ma fonction n'est pas bon. Je suppose qu'il s'agit d'un problème de compatibilité entre ma chaine de caractères et le type String.
Pouvez-vous m'aider?
Merci beaucoup.
en C:
Code:
1 2 3 4 5
| double __stdcall frequency(char fichierATester[])
{
FILE *fichier = NULL;
fichier = fopen(fichierATester, "rb");
... |
en VB:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| With OpenFileDialog1
'On spécifie l'extension de fichiers visibles
.Filter = "Fichiers binaires (*.bin) | *.bin"
'On affiche et teste le retour du dialogue
If .ShowDialog = Windows.Forms.DialogResult.OK Then
fichierATester = .FileName
fichierATester = fichierATester.Replace("\", "\\")
End If
End With
.
.
.
frequency(n, fichierATester) |