CString einem Char Array zuweisen



  • Hallo ich programmiere gerade ein Programm mit Visual C++

    Ich möchte eine Zeichenkette die in einer Variablen vom Typ CString einem char [] zuweisen. Der Compiler nölt aber.

    Zur Verdeutlichung

    char sBuf[] = m_tosend;

    m_tosend ist eine Variable vom Typ Cstring.

    Compilermeldung:
    error C2440: 'initializing' : 'class CString' kann nicht in 'char []' konvertiert werden

    Gibt es eine Möglichkeit wie ich das realisieren kann?

    Bin für jede Hilfe dankbar

    MFG Ceekay



  • Entweder Kopieren:

    char sBuf[255];
    _tcscpy(sBuf,m_tosend);
    

    oder falls Du einen Zeiger auch ein char-Array benötigst dann so:

    char *sBuff = m_tosend.LockBuffer();
    //was machen
    m_tosend.UnlockBuffer();
    

    Aber es gibt viele Wege nach Rom, und ohne weitere Beschreibung deines Problemes wirst Du hier warscheinlich viele Wege bekommen.

    Etwas Quelltext ist immer gut 😉

    Gruß



  • Hallo,
    so gehts auch, auch wenn ich nicht weis welche lösung die bessere ist:

    CString csStr = "Hallo Welt";
    
    char* acChar = csStr.GetBuffer(csStr.GetLength());
    

    so bekommst du auch den inhalt eines CStrings in ein char-array hinein..
    mfg
    pixel



  • pixel schrieb:

    Hallo,
    so gehts auch, auch wenn ich nicht weis welche lösung die bessere ist:

    CString csStr = "Hallo Welt";
    
    char* acChar = csStr.GetBuffer(csStr.GetLength());
    

    so bekommst du auch den inhalt eines CStrings in ein char-array hinein..
    mfg
    pixel

    csStr.Release Buffer() nicht vergessen, sonst kommt eventell das böse Erwachen 🙄

    Gruß


Anmelden zum Antworten