CString aus einem char array



  • Hallo zusammen,

    ich moechte in meiner MFC Applikation aus einem char array ,deren laenge bekannt ist, einen CString machen.
    Nun, das MFC-Buch von Shaw(SAMS) sagt mir dass eine Konvertierung wie:
    CString(char* , int ) moeglich ist was aber meinem visual c++ compiler nicht richtig ueberzeugt hat:

    // Globale CString
    CString DEFAULT_PATH ;
    ......
    void DataContainer::SetPath(char *str, int len){
    if(len != 0)
    if (str == NULL)
    DEFAULT_PATH = "CERBERUS.CPU 412-2 PCI.TOP_KUKA_LIN." ;
    else
    DEFAULT_PATH(str,len) ; // FEHLER C2064!
    }

    Error 1 error C2064: term does not evaluate to a function taking 2 arguments c:\users\jsbach\documents\visual studio 2005\projects\client\data_container.cpp 17

    Selbstverstaendlich koennte ich ein DEFAULT_PATH= str machen. Nun ich denke eine zuweisung mit pointer(zu array) und derene laenge, waere sicherer.

    Warum funktioniert diese Zuweisung nicht?

    Danke im voraus,
    jsbach



  • // DEFAULT_PATH(str,len) ; // falsch
    DEFAULT_PATH = CString(str, len); // richtig ;)
    


  • hustbaer schrieb:

    // DEFAULT_PATH(str,len) ; // falsch
    DEFAULT_PATH = CString(str, len); // richtig ;)
    

    hat funktioniert. Die einzige Aufrufmoeglichkeit, die ich nicht ausprobiert habe 😛 .

    Danke


Anmelden zum Antworten