CString in char und es klappt einfach nicht



  • Hallo zusammen,
    ich habe bereits alle Möglichkeiten ausprobiert einen CString in char
    umzuwandeln. Auch die Möglichkeiten, die hier schon in einem anderen
    Thread angesprochen wurden.

    Ich habe ein Eingabefeld, dessen Wert ich in

    CString m_User;
    

    speicher.

    Nun muss ich aber auf eine Funktion zugreifen, die als übergabe char
    verlangt. Wenn ich jetzt aber wie folgt

    char* m_md5User = LPCTSTR(m_User);
    

    versuche die Variable zu konvertieren, dann kommt immer die gleiche
    Fehlermeldung. Also auch bei den anderen Konvertierungsmöglichkeiten,
    die ich hier im Board gefunden habe.

    Ich verstehe auch nicht, wieso CString vom Typ unsigned short ist.

    error C2440: 'initializing' : 'const unsigned short *' kann nicht in 'char *' konvertiert werden
    Die Typen, auf die verwiesen wird, sind nicht verwandt; die Konvertierung erfordert einen 
    reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
    

    Wäre super, wenn mir jemand nen Tipp geben könnte.

    Ach ja, wenn ich folgendes mache:

    char m_TestString[100];
    strcpy(m_TestString, m_User.GetBuffer(99) );
    

    kommt folgende Meldung:

    error C2664: 'strcpy' : Konvertierung des Parameters 2 von 'unsigned short *' in 'const char *' nicht moeglich
    


  • Servus,

    du darfst bei der CString Var nicht GetBuffer aufrufen:

    Bsp.:

    char cTest[100];
    memset(cTest, 0, sizeof(cTest));
    CString strTest = "Zieh der Katze am Schwanz!!!";
    
    strcpy(cTest, strTest);
    
    CString strKontrolle = cTest;
    

    Viel Spass
    *winke*
    Hellsgore


Anmelden zum Antworten