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);
        }