Bonjour à tous,
Je voudrais utilser une DLL écrite en C dont un des paramétre est un char*.
Seulement, ce paramétre char* doit me renvoyer BONjour
Et il me renvoie BNor (il me prends 1 lettre sur 2 ??)
Si quelqu'un a une idée, il est le bienvenue...
D'avance merci
Je fais ça (désolé pour les "fioritures) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 unsafe class Program { [DllImport("LST.DLL")] public static extern void VA_Main(short* a,long* b,char* c); public static void getALPHA() { short aNM=0; long bNM = 0; short* a = &aNM; long* b = &bNM; char* c = stackalloc char[100]; string str = null; VA_Main(a,b,c); byte[] cArray = new byte[100]; for (int i=0;i<100;++i) { Console.WriteLine(" = " + (byte)c[i]); cArray[i] = (byte)c[i]; } str = Encoding.GetEncoding("ISO-8859-1").GetString(cArray); //str = new string(c); // Console.WriteLine("N2:{0} N4:{1} B:{2}", aNM, bNM, str); }
Partager