Gamestudio Links
Zorro Links
Newest Posts
Change chart colours
by 7th_zorro. 05/11/24 09:25
Data from CSV not parsed correctly
by dr_panther. 05/06/24 18:50
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
4 registered members (AndrewAMD, Baklazhan, Ayumi, Hanky27), 1,348 guests, and 2 spiders.
Key: Admin, Global Mod, Mod
Newest Members
Hanky27, firatv, wandaluciaia, Mega_Rod, EternallyCurious
19051 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
noch ne Frage zu structs..... #384805
10/08/11 17:33
10/08/11 17:33
Joined: Dec 2003
Posts: 988
Germany, Magdeburg
JoGa Offline OP
User
JoGa  Offline OP
User

Joined: Dec 2003
Posts: 988
Germany, Magdeburg
hey, ich bin grad auf Fehlersuche und hab ne Frage:

Die Speicheradresse eines Structs kann man ja auch in einer int abspeichern, z.B einem entityskill oder einem array.
Wenn ich nun an anderer Stelle an den Struct ran muss, brauch ich, um im Struct Sachen zu ändern, ja wieder seine Adresse - wie hole ich die mir?

Ich habe es foglender maßen gemacht, bin mir abe rnicht sicher ob das geht:
Code:
gegenstand* zu_speichernden_gegenstand = (gegenstand*) inventar_platz[i];
file_str_write(filehandle,zu_speichernden_gegenstand->str_modell);
// ... weitere file_str_write-Anweisungen



Direkt
Code:
file_str_write(filehandle,(gegenstand*) inventar_platz[i]->str_modell);


mag er nicht.

Reicht es, wenn ich das wie im oberen Code-block mache?
Oder kann das später Fehler geben, weil ich vorher kein sys_malloc benutzt habe?
Aber eig. brauch ich doch kein sys_malloc, weil ich den einen struct nicht in einen neuen kopieren, sondern lediglich die Adresse als struct haben will, die ich dann per file_str_write wieder weiterverwerten kann.

vielen Danke erstmal fürs Durchlesen :-)

Last edited by JoGa; 10/08/11 17:34.
Re: noch ne Frage zu structs..... [Re: JoGa] #384808
10/08/11 18:42
10/08/11 18:42
Joined: Nov 2007
Posts: 2,568
Germany, BW, Stuttgart
MasterQ32 Offline
Expert
MasterQ32  Offline
Expert

Joined: Nov 2007
Posts: 2,568
Germany, BW, Stuttgart
Hey Joga!
Du kannst nicht einfach einen Structpointer in eine Datei schreiben.
Das Programm liegt ja nach einem Neustart an einer völlig anderen Speicheradresse!
1. Du musst ein Struct in eine Datei speichern und nicht blos den Pointer
. Geht eigentlich recht einfach. Jeden Teil des Structs in die Datei schreiben (jeden string, variable, what else)

Um das Struct wieder zu laden, musst du es erst wider von hand erzeugen (sys_malloc) und die daten, die darin sein sollen, wieder aus einer datei lesen.

Für ein Code-Beispiel bin ich jetzt zu faul, aber wenns ohne nicht geht, bekommste eines wink

Gruß Felix


Visit my site: www.masterq32.de
Re: noch ne Frage zu structs..... [Re: MasterQ32] #384810
10/08/11 19:00
10/08/11 19:00
Joined: Dec 2003
Posts: 988
Germany, Magdeburg
JoGa Offline OP
User
JoGa  Offline OP
User

Joined: Dec 2003
Posts: 988
Germany, Magdeburg
äh, genauso mach ich es doch ;-) ich schreib den inhalt in ne Datei von strings, die im struct sind.
Code:
file_str_write(filehandle,zu_speichernden_gegenstand->str_modell);


das hier schreib ich in die datei. Das sind strings. Nicht die Speicheradresse ;-)
Trotzdem Danke für deinen Tipp!

Vielleicht war meine Frage zu ungenau.
Ich wollte wissen, ob dies Zeile Code legitim ist:
Code:
gegenstand* zu_speichernden_gegenstand = (gegenstand*) inventar_platz[i];


mit der ich einen generierten Struct, dessen Adresse ich in einem array abgespeichert hatte, so wieder als Pointer "addressiert" bekommen kann, um ihn dann weiter zu verwenden und abzuspeichern.

Last edited by JoGa; 10/08/11 19:21.
Re: noch ne Frage zu structs..... [Re: JoGa] #384812
10/08/11 19:48
10/08/11 19:48
Joined: Nov 2007
Posts: 2,568
Germany, BW, Stuttgart
MasterQ32 Offline
Expert
MasterQ32  Offline
Expert

Joined: Nov 2007
Posts: 2,568
Germany, BW, Stuttgart
mach doch einfach so:
gegenstand* inventar_platz[64];
da brauchst keinen cast


Visit my site: www.masterq32.de
Re: noch ne Frage zu structs..... [Re: MasterQ32] #384813
10/08/11 19:49
10/08/11 19:49
Joined: Dec 2003
Posts: 988
Germany, Magdeburg
JoGa Offline OP
User
JoGa  Offline OP
User

Joined: Dec 2003
Posts: 988
Germany, Magdeburg
aber wenn ich dann
Code:
file_str_write(filehandle,(gegenstand*) inventar_platz[i]->str_modell);

schreiben will (weil für den file_str_write-Befehl brauch ichs ja, will es nicht geschluckt werden :-/

Re: noch ne Frage zu structs..... [Re: JoGa] #384814
10/08/11 19:50
10/08/11 19:50
Joined: Nov 2007
Posts: 2,568
Germany, BW, Stuttgart
MasterQ32 Offline
Expert
MasterQ32  Offline
Expert

Joined: Nov 2007
Posts: 2,568
Germany, BW, Stuttgart
file_str_write(filehandle,inventar_platz[i]->str_modell);
du musst deinen string doch nicht in gegenstand* casten!


Visit my site: www.masterq32.de
[solved] Re: noch ne Frage zu structs..... [Re: MasterQ32] #384815
10/08/11 20:02
10/08/11 20:02
Joined: Dec 2003
Posts: 988
Germany, Magdeburg
JoGa Offline OP
User
JoGa  Offline OP
User

Joined: Dec 2003
Posts: 988
Germany, Magdeburg
Fehler wurde durch falsches benutzen von STRING-Pointern und _char- funktion verursacht.

Last edited by JoGa; 10/08/11 22:33.

Moderated by  HeelX, Lukas, rayp, Rei_Ayanami, Superku, Tobias, TWO, VeT 

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1