Cfile -format festlegen
-
Was bedeutet "funktioniert nicht" genau ??
Zeig mal etwas Code von deinen Versuchen. Ist auf jeden Fall der richtige Parameter !
-
Bin gerade nicht daheim und hab den code nicht da.
Aber es geht darum ich lese eine Serielle schnittstelle aus und möchte die daten in eine datei schreiben und es werden irgendwelche zeichen in die datei geschrieben.
Bei FILE ... gibt es ja die Fkt fprintf(...,"%x" ,...) gibt es bei Cfile sowas auch?
-
so richtig ist dein problem nicht zu verstehen, was willst du mit daten in einer datei die du als Text in Hex Formatiert in eine Datei schreibst. Schreib doch die daten so raus wie du sie bekommst und lass die dir mit einem Hex-editor anzeigen, oder steckt da ein anderer grund dahinter.
nein CFile macht nur Dateioperationen, dazu mußt du dann schon CString bemühen, dort findest du dein gesuchtes Format, aber wie gesagt dann schreibst du ne Textdatei, in der Daten als Hex-Formatiert stehen
-
genau das mit der textdatei in der hex-daten stehen brauche ich. und diese datei möchte ich mit cfile erstellen, damit man noch gleichzeitig diese daten auslesen kann.
-
da dann formatier doch deinen Text mit CString Format() (Beispiele findeste im Netz massig) und schreib den Inhalt des CStrings mit CFile in eine Datei. Is doch eigentlich gar nicht soooo schwer, wobei, wenn du die Hexausgabe nur in der entwicklungszeit brauchst, konnst du besser du schreibst die Daten so wie sie kommen in eine Datei und benutzt einen Hex-Editor zu anschaun.
An sonnsten würde ich das ganze in einer Schleife Formatieren und dann an deinem Zielsting anhängen, wenn der durch is, kannst du den Zielstring mit CFile rausschreiben, ganz normal.
-
So, erstmal danke an euch alle. Habs jetzt hinbekommen, dass er mir zahlen schreibt, aber er schreibt statt z.b bd nur b. könnt ihr mir sagen woran das liegt?
hab das so:
CString p;
p.Format(_T("%02x",puffer); //puffer ist vorher def
file.Write(p,2);
-
So jetzt schwer zu sagen, aber bist du dir sicher das in puffer auch genügend daten sind?
Wobei 'X' gibt Großbuchstaben aus, sollteste vielleicht mal versuchen
-
Wenn ichs debugge, dann steht im p bd, aber in die datei schreibt es immer nur die hälfte.
Danke, hab schon x und X ausprobiert.
-
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