"sizeof" spinnt ?!
-
Hallo
Habe folgendes Problem...
Und zwar erstelle ich mittels der Klasse CMarkup (codeproject) eine XML Datei in den String csXML. Nun möcht ich diesen natürlich auch als Datei speichern, aber irgendwie gibt mir die Funktion "sizeof" einen falschen Größenwert zurück, sodass nur die ersten 4 Zeichen geschrieben werden.. Setze ich anstatt "sizeof" manuell einen höheren Wert ein, gibt er mir alles wunderbar aus... wenn ich den wert höher ansetze, als der String eigentlich groß ist, dann schreib er mir nach dem normalen text natürlich noch paar diverse zeichen bis zum schluss...
Was kann ich also machen um die Größe von csXML richtig zu bekommen?Hier mal die Funktion (ja, alles nur kopiert und zusammengefügt
)
void CNewEntry::Ontest() { CMarkup xml; xml.AddElem( "ORDER" ); xml.AddChildElem( "ITEM" ); xml.IntoElem(); xml.AddChildElem( "SN", "132487A-J" ); xml.AddChildElem( "NAME", "crank casing" ); xml.AddChildElem( "QTY", "1" ); CString csXML = xml.GetDoc(); char* pszFileName = "c:\\myfile.xml"; CFile myFile; CFileException fileException; if ( !myFile.Open( pszFileName, CFile::modeCreate | CFile::modeReadWrite, &fileException ) ) { TRACE( "Can't open file %s, error = %u\n", pszFileName, fileException.m_cause ); } myFile.Write( csXML, sizeof(csXML) ); myFile.Close(); }
MFG
FatalError
-
CString::GetLength
-
oh gott.. *an kopp fass*
sry, ich hab keine ahnung warum mir das jetz net in sinn kam
ich glaub ich sollte ma ne woche urlaub machen..Danke nochmal