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 allendarktown2
-
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