liam Skrevet 18. februar 2005 Del Skrevet 18. februar 2005 hej jag har precis börjat med att programmera i C; och har stött på några problem. jag vill räkna ut längden på en array. till denna array har jag pekaren *pkt_data och nu vill jag räkna längden av arrayen med hjälp av pekaren. jag har "inte" tillgång till själva arrayen endast pekaren? void packet_h(u_char *param, const struct pcap_pkthdr *header, const u_char *pkt_data); det är det pkt_data pekar på som jag vill ha ut längden på någon som vet hur jag ska gå till väga tack Lenke til kommentar
A!1 Skrevet 19. februar 2005 Del Skrevet 19. februar 2005 Ja, men dette er ikke C#, som du har postet i. du kan bruke int sizeinbytes = SizeOf(pkt_data); så må du dele på hvor mange byte hver enhet i arrayet / listen bruker. Lenke til kommentar
liam Skrevet 19. februar 2005 Forfatter Del Skrevet 19. februar 2005 ok men sizeof på en pekare kommer endast att tala om pekarens längd, och det jag vill få fram är längden på det som pekaren pekar på! *pkt_data om det inte är C som jag programmerar vad är det då? Lenke til kommentar
saboi Skrevet 19. februar 2005 Del Skrevet 19. februar 2005 du kan ikke finne størrelsen på arrayen hvis den ikke er nullterminert, som den sikkert ikke er siden det er void* Lenke til kommentar
liam Skrevet 19. februar 2005 Forfatter Del Skrevet 19. februar 2005 stämmer det.. ok tackar Lenke til kommentar
A!1 Skrevet 19. februar 2005 Del Skrevet 19. februar 2005 her står det ingen ting om void* det står: const u_char *pkt_data som ser ut til kun å være en peker til ÉN ( 1 ) enhet i en u_char liste/array. Altså, kan du ikke finne lengden på arrayet når du bare har en peker til ÉN av enhetene i listen. Viss du skal finne det, så må du ha en peker til HELE arrayet, u_char[] * minArray; da vil sizeof(minArray) gi lengden på minArray. viss du vil ha størrelsen på pekeren, bruker du: sizeof(&minArray) som normal vil returnere tallet 4. Men du har postet dette i et forum for C# - les C sharp... ikke C. Viss du vil ha mer kvalifiserte svar, så kan det lønne seg å gå til riktig forum... Lenke til kommentar
liam Skrevet 19. februar 2005 Forfatter Del Skrevet 19. februar 2005 ok.. det stämmer med pekaren, jag har också fått storleken 4 på pekaren. tackar i allafall!! ska gå till det andra forumet! Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå