lima-city: Webhosting, Domains und Cloud
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 (716 Punkte)  
Diese Community basiert auf dem Prinzip der Selbstregulierung. Beiträge werden von Nutzern erstellt, bewertet und verbessert – ganz ohne zentrale Moderation.

Wer hilfreiche Fragen stellt oder gute Antworten gibt, sammelt Punkte. Mit steigender Punktzahl erhalten Mitglieder automatisch mehr Rechte, zum Beispiel

  • Kommentare verfassen
  • Beiträge bewerten
  • Inhalte bearbeiten
  • Inhalte ausblenden

So entsteht eine Plattform, auf der sich Qualität durchsetzt – getragen von einer engagierten Gemeinschaft. Unser Ziel: Guter Inhalt. Für alle.

2.3k Fragen

2.8k Antworten

260 Kommentare

12 Nutzer