Gå til innhold

Anbefalte innlegg

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? :no:

 

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
Videoannonse
Annonse

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

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

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...