recv funzt nicht nach string1 = "dir"; o_O



  • Hi,wenn ich string1 mit

    SendMessage (hEdit, WM_GETTEXT,(WPARAM) 2048,(LPARAM) string1);
    

    fülle und in die Editbox 'dir' eingebe funzt alles.
    ABER wenn ich string1 mit

    string1 = "dir";
    

    fülle dann sendet er zwar den String richtig an den Server aber bei

    rc=recv(s,string1,2048,0);
    

    bricht er dann immer ab 😑
    Hier der ganze Code:

    string1 = new char[2048];
    //SendMessage (hEdit, WM_GETTEXT,(WPARAM) 2048,(LPARAM) string1); < das würde funzen
    string1 = "dir"; //das aber nicht o_O
    
    send(s,string1,strlen(string1),0);                     
    rc=recv(s,string1,2048,0);   //Da wird abgebrochen                   
    string1[rc]='\0';                                  
    SendMessage (hdit, WM_SETTEXT,NULL,(LPARAM) string1);
    

    An was liegt das??

    Danke im voraus



  • Mit

    string1 = "dir";
    

    weist Du string1 einen Pointer auf "dir" zu, dieser Pointer ist aber nach Ende des Kommandos bereits wieder ungültig. Kopiere den String in den Buffer, z. B. mit strncpy.



  • Danke
    Jaja,ich sollte mal bissl auf strings verzichten 😉

    MFG


Anmelden zum Antworten