Übergeben Sie einen Puffer als Verweis auf eine andere Funktion

Ich möchte einen Zeiger des Puffers und die Länge des Puffers an eine andere Funktion übergeben und dann mit diesen Daten arbeiten und sie zum Beispiel drucken. Aber wenn ich versuche, es in Funktion zu drucken, ist es unmöglich.

Dies ist ein Teil meines Codes:

  void process(KOCTET**bufferlist,KUINT16*lenlist){
        KOCTET * Buffer,*temp;
        KUINT16 BufferSize=5000;
        KUINT16 WritePos=0;
        KUINT16 total_bytes;
        Buffer=(KOCTET*)malloc(5000*sizeof(KOCTET));

        total_bytes = stream.CopyIntoBuffer( Buffer, BufferSize, WritePos);

        bufferlist=(KOCTET**)malloc(sizeof(KOCTET*));
        bufferlist=&Buffer;
        lenlist=(KUINT16*)malloc(sizeof(KUINT16));
        lenlist=&total_bytes;

           //Print Buffer in Hexadecimal
           int z=0;
           temp=Buffer;
           while (z<total_bytes){
              printf(" %02X",(unsigned char)*temp);
              temp++;
              z++;
           }
           printf("\n");
    }


    void function ()
    {
         KOCTET**bufferlist;
         KUINT16*lenlist;

         process(bufferlist,lenlist);

         //Print Buffer in Hexadecimal
           int z=0;
           temp=*bufferlist;
           while (z<(*lenlist)){
              printf(" %02X",(unsigned char)*temp);
              temp++;
              z++;
           }
           printf("\n");
    }

Vielen Dank,

Antworten auf die Frage(1)

Ihre Antwort auf die Frage