Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » speichern von structs geht nicht

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ] [ 3 ] [ 4 ]
000
17.04.2004, 20:09 Uhr
mike
Pinguinhüpfer
(Operator)


Hi!
Ich versuche schon seit einiger Zeit structs zu speichern. Das schreiben scheint zu gehen (Dateigröße wird jedes mal um 11bytes vergößert). Aber beim lesen kommt leider nichts
http://193.171.122.120/~newbie/main.c
Weiß jemand was ich da falsch mache?

Danke im Voraus!!!
mfh
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
17.04.2004, 20:56 Uhr
0xdeadbeef
Gott
(Operator)


Machs mit fwrite und fread und sizeof(datenstruktur). Du weißt nicht, wo im struct (wenn überhaupt) ein \0 steht.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
17.04.2004, 21:27 Uhr
mike
Pinguinhüpfer
(Operator)


Hi!
Danke für deine Antwort!!!!
Ich hab ein weiteres Problem mit diesem Blocked Writing gefunden: das Speichern von Pointer geht auch nicht Da bekommt ich jedes Mal ein Memory leak.
Ich lass mir immer Übungen einfallen die mir zu hoch sind *g*

gn8
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
18.04.2004, 09:39 Uhr
(un)wissender
Niveauwart


Pointer darfst du nie speichern und dann glauben, z.B. nach einem Neustart deines Programmes, dass sie noch gültig sind.
Aller Speicherbereich wird beim beenden deines Programms freigegeben!
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
18.04.2004, 11:53 Uhr
~asdf
Gast


und jemand, der pointer speichern will ist operator in einem c++ forum`?!?!
hilfe :P
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
18.04.2004, 12:02 Uhr
Pablo
Supertux
(Operator)


Tut mir leid, dass wir nicht so wie du sind, allwissend und fehlerfrei.

--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 18.04.2004 um 12:02 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
18.04.2004, 12:27 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@asdf
so ne beiträge hass ich... mike kennt sich vielleicht nicht so gut mit ansi-c/c++ pointern und co aus.... aber in diesem forum ist er ja auch nicht moderator...
kannst ja mal ein paar mfc-fagen stellen da kennt er sich echt richtig gut aus und in diesem forum ist er nun mal moderator... da tut es nichts zu sache ob er genau zwischen pointern und deren inhalten unterscheiden kann...
find ich echt nicht in ordnung jemanden der hier echt ne menge seiner zeit opfert dafür noch anzumachen das er sich in einem bereich nicht auskennt den er gar nicht moderiert... wenn du es glaubst besser zu können kannst du dich ja als moderator bei FloSoft bewerben...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
18.04.2004, 12:56 Uhr
(un)wissender
Niveauwart


Nun, Pointer zu speichern ist schon ein ziemlicher Fauxpas, aber wer ist frei davon?
mike ist tatsächlich in Bezug auf die mfc sehr kompetent.
Und hier gibt er sicher sein Bestes...

Schönen Sonntag noch!
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
18.04.2004, 15:38 Uhr
mike
Pinguinhüpfer
(Operator)


Ich gebe zu: war etwas dumm von mir Pointer zu speichern - hab drauf auch nicht weiter geachtet. Ohne mich jetzt rauszureden - ich habe den Fehler bereits in Post 002 erkannt
Ich habe jetzt ein dummy struct ohne Pointer erstellt. Hab mir aber sagen lassen, dass dieses Blocked Storing (oder wie das heißt) "dirty" ist. Daher suche ich eine "serialize" Lösung. Kennt jemand zufällig eine?

mfg
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
18.04.2004, 15:51 Uhr
(un)wissender
Niveauwart


Nun, erstmal deine URL funzt nicht.
Die "serialized" Lösung besagt nur, dass du dein Struct serialisierst, hier ist damit gemeint, dass du die Daten, die dein Struct ausmachen (z.B.) in einem Stream schreibst. Dabei solltest du drauf achten, dass diese Daten eine Standardisierte Form benutzen, z.B dass ein int immer 32Bit groß ist (oder wie auch immer, nur immer gleich), damit du deine Daten austauschen kannst, zwischen Maschinen(Evtl. auf Endians achten) und Compilern.
Wenn du dein Struct einfach so speicherst, dann ist das ganze nur sicher auf dieser Maschine mit diesem Compiler, ansonsten "dirty" (wobei ein wenig Schmutz machen ganz nett ist).
Hoffe geholfen zu haben.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ] [ 3 ] [ 4 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: