0 Pluspunkte 0 Minuspunkte

Ich empfange einen String von einem Socket

int bytesRead = recv(clientSocket, clientInfo, sizeof(clientInfo), 0);
clientInfo[bytesRead] = '\0';

das funktioniert mit meinem selbst geschriebenen client aber wenn ich mich mit netcat verbinde ist am ende des Strings trotzdem jedes mal ein "\n" dran. Wie bekomme ich das weg?

von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Du kannst prüfen ob das letzte Zeichen ein Zeilenumbruch "\n" ist und falls es das ist, ersetzt du es durch ein Nullzeichen "\0".

...

int length = strlen(clientInfo);

if (length > 0 && clientInfo[length - 1] == '\n') {

    clientInfo[length - 1] = '\0'; // Ersetzt das "\n" am Ende (falls vorhanden) durch das Null-Terminierungszeichen

}
von