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.