File binär schreiben lesen mit struct
-
also ich hab folgendes prob ich habe versucht mit
CFile und CStdioFile ne binär datei zu schreiben
und zwar mit mehreren structs das hat auch nach langem hin und her gefunzt
aber beim einlesen macht er große fehler
ich habe es mit beiden versucht aber alles was er macht is die id meiner struct einzulesen
also
struct lol
{
int id;
CString sonst;
....
}
und der rest sind schlächte pointer nach debugger oderauch wilde aber keine null pointer.
wie dem auch sei crasht das prog wenn ich versuch mit dem eingelesen struct was zu machenfals einer nen beisiel hat sehr gern und am besten auch mfc mit der nutztung von CFileDlg oder wie das gelich noch hies
vielen dank
ps: fals keiner was weis nutzt ich noch die STD mit filestreams das hab ich noch nich getestet ^^
-
Also ich habe echt nicht verstanden, was du da genau machen willst. Aber falls du die Binärdaten in einen CString speichern willst dann geht das nicht so. Bei nichtdruckbarenzeichen wird der String terminiert bzw. abgeschnitten.
-
hmm war vieleicth zu undeutlich also ich will antürlich binär daten in nen file schreiben
das funzt auch aber lesen gibt mega fehler sei es mit CFile oder CStdioFile
oder sogar FILE * file fopen usw
ich willl ne struct speichern und widda einlesen und am besten mehrere in ner schleife also beliebig viele und das die dann einzeln widdda einlesen.im prinzip easy aber er scheint nich richtig einzulesen oder so er liest immer nur die id (erste variable der structur ein) was ein int is und die nachfolgenden CStrings anscheinend nich auf alle fälle sind dann da nur schlächte pointer oder wilde denn wenn ich auf die zugreifen will und ausgeben (aus eingelesener struct ) dann crasht alles unerlaubter zugriff usw.a
fals das shcon jemand gemacht hat wär interesant zu sehen wie das gehn soll oder wenn einer weis warum ich so fehler bekomm noch besser.
-
Du kannst zwar mit CString in einer Struktur arbeiten, aber Du kannst diese nicht in einer Datei speichern. Es handelt sich um eine Klasse und nicht um einen einfachen Datentyp. Die dort enthaltenen Pointer haben beim Auslesen aus der Datei keine Gültigkeit mehr.
Eine speicherfähige Struktur sieht z. B. so aus:
struct lol { int id; char sonst[100]; .... }
-
ja hab ich mir grad auch gedacht hab mir die debug überwachung nach dem einlesen angeguckt
alles hat gefunzt auser die CStrings und jetzt is es mir klar danke das du mich auf das offensichtliche hingewisen hast ^^ ich mein die datein waren immer gleich lang egal wie groß der text war ARRRRRGGGGG ich idiot da warn nur die adressen im hex edit hats auch nix angezeigt völlig behämmert k thx ich such dann mal ne möglichkeit die in was anderes zu konfertieren
fals einer schon ne idee hat immer her mit den beispielen ^^