Wie kriege ich das hin ?



  • Also bei dem Code

    UpdateData(TRUE);
    CFile f;
    CFileException fileException;
    f.Open( m_datei , CFile::modeCreate | CFile::modeReadWrite, &fileException );
    f.Write("<html><head><title>" , 20 );
    f.Write( m_uber , sizeof( m_uber ));
    f.Write("</title></head>" , 20 );
    f.Write("<body>",7);
    f.Write( m_text , sizeof(m_text));
    f.Write("</body>",8);
    f.Write("</html>",8);
    f.Seek( 0, CFile::begin );
    

    kann ich bei m_text nicht "Hallo du , bla bla bla " schreiben , weil nach Hall hört er dann auf , das hängt aber mit sizeof(m_text); zusammen (glaube ich) wenn ich da jetzt aber eine konkrete Zahl einsetze zb 800 dann setzr er für die nicht gebrauchten Stellen Zeichen ein . Wie kriege ich dan hin das ich Sätze schreiben kann ,aber es muss dynamische Länge haben (um die Zeichen zu verhindern ...

    darktown2



  • m_text ist CString ?
    Wie wärs mit einem sizeof(char)*m_text.getlength() ?

    Devil



  • na überleg doch mal:

    m_text ist w*****einlich ein CString ... Strings sind Zeiger und zeiger haben (normalerweise) eine grösse von 32bit, also 4 byte ... Deswegen bekommst du nur "Hall" (und das nichtmal nullterminiert) in deine datei geschrieben.

    gibt Write die richtige länge mit, und es sollte funzen:

    ...
    f.Write( m_text , m_text.GetLength() );
    ...
    

    grüsse



  • Benutz doch nen CString anstatt ein char-Array



  • Danke für die Schnelle Hilfe , dank f.Write( m_text , m_text.GetLength() );
    von soUrcerer gehts .
    Aber Danke euch allen

    darktown2



  • Original erstellt von devil81:
    **m_text ist CString ?
    Wie wärs mit einem sizeof(char)*m_text.getlength() ?

    Devil**

    aber da sizeof char unter win immer 1 ist kannst du dir das auch schenken und nur GetLenght nehmen



  • Original erstellt von soUrcerer:
    **na überleg doch mal:

    m_text ist w***einlich ein CString ... Strings sind Zeiger und zeiger haben (normalerweise) eine grösse von 32bit, also 4 byte ...

    Das ist mir klar, aber bei CString kannst du auch WriteString benutzen


Anmelden zum Antworten