CString ausgeben mit fstream



  • Hallo,
    habe bei meinem Code das Problem, dass ein Cstring aus einem CString array falsch ausgegeben wird (wahrscheinlich als hex Wert).

    Hier mein Code:

    CString opPages[3]={"Teil_1","Teil_2","Teil_3"};
      fstream f;
      f.open("sample.dat", ios::out);
      printf("%s \n",opPages[1]);
      f << "blablabla " << opPages[2] << " blablabla" << endl;
    

    Hier die Ausgabe auf dem Monitor:

    Teil_2
    

    Hier die Ausgabe in die Datei:

    blablabla 0EC9DDE0 blablabla
    

    Was mach ich den falsch?



  • Versuch doch mal, den CString erst in ein char* oder sonstwas zu casten und ihn dann auszugeben,

    f << "blablabla " << (LPCTSTR)opPages[2] << " blablabla" << endl;
    


  • Gast221212 schrieb:

    Versuch doch mal, den CString erst in ein char* oder sonstwas zu casten und ihn dann auszugeben,

    f << "blablabla " << (LPCTSTR)opPages[2] << " blablabla" << endl;
    

    Ach, wie dumm von mir. Habs zwar mit (string) versucht, aber natuerlich erfolglos.
    Danke fuer den Tipp!


Anmelden zum Antworten