[C/C++] Chat - Editbox Problem

STaRDoGGCHaMP

Grünschnabel
Hallo Community,

Ich habe gestern aus Langeweile mal daran gedacht, ein kleines Chatprogramm zu schreiben (wirklich nichts großes oder ausergewöhnliches). Beim Client hab ich dann eine kleine Funktion geschrieben, die Nachrichten abfängt und sie in die Editbox einträgt.

Code:
void GetMessages(){

  char cBuffer[MAX_PATH];
  char cMessage[MAX_PATH];
  int iRecv;


  while(1){

      iRecv = recv(sckSocketClient, cBuffer, 256, 0);

      if((iRecv != 0) && (iRecv != SOCKET_ERROR)){

         strcat(cMessage, "<Server> ");
         strcat(cMessage, cBuffer);
         strcat(cMessage, "\r\n");
         SetWindowText(hEdit, cMessage);

      }

   }

}

Damit habe ich jetzt ein Problem. Irgendwann, hört das ChatProgramm auf, die Nachrichten in die Editbox einzutragen. Ich denke, dass es daran liegt, dass die Variable irgend wann zu "groß" (oder "voll") ist. Da diese verdammte Variable ja mit strcat immer erweitern wird ...

Nun zu meiner Frage, gibt es eine Alternative zu SetWindowText, die den Inhalt des "Fensters" nicht überschreibt, sondern einfach ihn "dranhängt". Oder gibt es irgend eine andere Lösung für mein Problem?

Ich bin kein guter C-Programmierer, deshalb tut es mir auch leid, falls die Frage zu "einfach" für dieses Forum hier ist, es kann auch gut sein, dass ich beim initalisieren der char Variable auch was falsch mache ..
 
Zuletzt bearbeitet:
Zurück