Länge eines Char arrays recv()
-
hi@all
ich möchte das ein socketserver etwas empfanngen soll was ein client gesendet hat. Dieser char array des empfängers soll exakt die länge haben wie der sender im sie geschickt hat.
Sendeabschnitt
rc=send(s,proz.c_str (),proz.length(),0);
bei proz handelt es sich um einen string der auch exakt das sendet was in im steht. Dass problem ist dass ich als empfänger keinen string benutzen kann.
Empfängerabschnitt
rc=recv(connectedSocket,buffer2,50,0);
hier habe ich weil ich keine andere möglich keit hatte die länge so eingetragen.
wie kann ich also die länge eines char arrays ermitteln???
-
hallo
das sollte eigentlich ganz einfach über
int i = strlen(DEIN_ARRAY);
zu regeln sein.
greets
-
just-another-programmer schrieb:
hallo
das sollte eigentlich ganz einfach über
int i = strlen(DEIN_ARRAY);
zu regeln sein.
greets
Dabei musst du dich aber zuerst vergewissern, dass ein gültiger C-String vorliegt, also dass das Char-Array nullterminiert ist.
-
vieleicht so:
#define GetArraySize(Array) (sizeof(Array)/sizeof(Array[0])) ... char Buffer[256]=""; int rc=recv(connectedSocket,Buffer,GetArraySize(Buffer),0);
Die Größe der empfangenen Daten steht in deinem Falle in rc.