c++ recv in string einlesen

Tyg3r

Erfahrenes Mitglied
Hi,

mit folgendem Script schreibe ich die per recv erhaltenen Daten in ein String.

Code:
int bytesRead = 0, nRec;
std::string content;
char buf[1024];
while ((nRec = recv(sock, buf, sizeof(buf), 0)) != SOCKET_ERROR) {
    if (nRec == 0)
        break;
    content.append(buf, buf + nRec);
    bytesRead += nRec;
}

Gebe ich den String nun per cout aus oder schreibe ihn in ein Text-File, finde ich immer wieder die zahl 1000 (mit /r für Zeilenende) und am Ende des Strings eine 0 vor.

Ich vermute, dass ich beim Schreiben in den String eine convertierung vornehmen muß.
Leider bin ich C++ Neuling und bin hier auf Eure Hilfe angewiesen :)

Danke schonmal!
 
append würde auch 0-er mitnehmen, evtl. ist das gewünscht.

append möchte aber als zweiten Parameter nur die Anzahl der anzuhängenden Zeichen haben, nicht einen Pointer darauf. Deshalb einfach nur:

content.append( buf, nRec );
 
Zurück