glenn007 <glenn007.news@kandu.dk> skrev:
> Jeg her en buffer pointer ( *lpBuff )
Hvorfor har du det? Jeg kan se af din kode (cout) at du bruger C++.
> det kører derudaf, men nu vil jeg
> gerne have den til at smide de første 3 unsigned char efter hvert $ tegn
>  ned i et array,  hvordan er det nu man gør med den slags.  evt
> komenteret eksempel ville være kanon lækkert, da jeg ikke har styr på
> dette endnu
Beklager, jeg gider ikke lave kommenterede eksempler til anonyme.
> har prøvet således men duede ikke
> 
> void udtag_emner(unsigned char*lpBuff)
> {
> 
> unsigned char target[3]; // henter Byte 0,1,2,3 I alt 4 Byte/char
I det array får du nu kun plads til 3 tegn.
>    while (*lpBuff=(0x24,target[*lpBuff+3])) // hvis pointer er $  hent
> pointer+næste 3 char
Her demonstreres:
 - nytteløs brug af komma-operator
 - tildeling i betingelse
 - læsning af array gennem ukontrolleret indeks.
Måske mener du:
     while (lpBuff = strchr (lpBuff, '$'))
men hvad skal target så bruges til?     
     
>    {   
>       for (int i = 0 ;i < 4;i++)
>       cout << lpBuff[i];
Hvorfra ved du at lpBuff[i] er inden for din buffer?
>    }
>    //TODO   
> }
> jeg har prøvet dette men det ser ud til der er noget galt, med koden så
> den ikke tager de $ og de 3 næste
> 
> og en lille ting mere,  nogle detr kender syntaksen til at tømme
> buffere, eller ved hvilken header jeg kan finde den i ? har prøvet med
> free(lpBuff) men det gider den ikke, og det var mit sidste bud. Selv om
> jeg nu nok mener det er rigtigt nok.
Måske hvis du forklarer hvad du egentlig mener så vi andre også kan
forstå det, og hvis du får et navn.