Cfile -format festlegen
-
wenn ich im debug-Modus auf str gehe, dann öffnen sich register und dann steht da: ATL::CSimpleString<wchsr_t,1> was bedeutet das? Ich denke deswegen schreibt er nur das erste zeichen hin.
-
ich meine auf p gehe nicht str
-
na probier doch mal
CString p; p.Format(_T("%02x",puffer); //puffer ist vorher def file.Write(p,p.GetLenght());somit ist gewährleistet das er die gesammte länge des Strins schreibt und nicht das was du im vorgibst...
-
Das funktioniert auch nicht.
Wie gesagt ich glaube dass es an dieser Information liegt:
Also wenn ich mit der Maus auf p gehe, dann öffnet sich
p "bd" -> ATL::CSimpleString<wchar_t,1>...-> 98 L'b'
Und genau das was in den einfachen Anführungszeichen steht wird reingeschrieben, also hier 'b'Deswegen denke ich wenn man ATL... <wchar_t,2> umstellen könnte, dann würde es gehen.
-
Hallo,
du hast offensichtlich Unicode in den Projekt-Eigenschaften eingestellt (erkennbar am w_char_t!), d.h. alle Zeichen sind zwei Byte gross. Dann musst du natürlich auch die doppelte Länge (GetLength zählt nur die Zeichen, und das sind nur zwei, aber beide sind zwei Byte lang) schreiben:
file.Write(p,p.GetLength() * 2);Ansonsten kannst du Unicode auch umschalten, und dann ohne Verdopplung der zu schreibenden Länge auskommen.
MfG,
Probe-Nutzer
-
Man ich danke dir,Probenutzer. Genau das wars. Vielen Dank
-
Und wie schaltet man unicode um?
-
Projekteinstelungen -> General -> Characterset!
-
Wenn ich es deaktiviere dann kommt der Fehler : Failed to save the updated manifest to the file ".\Debug\EKG1.exe.embed.manifest". Falscher Parameter.
Was bedeutet das?
-
Versuche mal einen kompletten Rebuild deines Projektes (Debug -> Rebuild).
Er kann die Änderungen nicht in das Manifest der Anwendung übernehmen.Bei nem Rebuild erstellt er auch das Manifest nochmal neu.
Bei Fragen zum Manifest-File:

http://de.answers.yahoo.com/question/index?qid=20090928112723AA5YRwJ