CString Problem



  • Hallo,

    kann mir jemand sagen warum ich statt Computername und Username zweimal den Usernamen ausgegeben bekomme?

    CString strName1, strName2;
    getComputername(strName1.GetBuffer(0)); //getComputername(char *zielstring)
    getUsername(strName2.GetBuffer(0)); //getUsername(char *zielstring)
    cout << strName1.GetBuffer(0) << endl;
    cout << strName2.GetBuffer(0) << endl;
    


  • Wenn du GetBuffer mit 0 aufrufst reservierst du auch nichts.
    Würde es so machen

    char buffer[100]; // keine ahnung wie gross
    CString strName1, strName2;
    getComputername(buffer); //getComputername(char *zielstring)
    strName1=buffer;
    getUsername(buffer); //getUsername(char *zielstring)
    strName2=buffer;
    cout << (const char*)strName1 << endl;
    cout << (const char*)strName2 << endl;
    

    Kurt



  • Da wäre doch CString::GetBufferSetLength angebrachter



  • Danke euch beiden 🙂

    hab es jetzt mit GetBufferSetLength gemacht...
    so spar ich mir das char buffer[] 😉
    daher...

    CString strName1, strName2;
    getComputername(strName1.GetBufferSetLength(10)); //getComputername(char *zielstring)
    getUsername(strName2.GetBufferSetLength(10)); //getUsername(char *zielstring)
    cout << (const char*)strName1 << endl;
    cout << (const char*)strName2 << endl;
    

Anmelden zum Antworten