nur noch als info, falls auch anfänger wie ich den thread mitverfolgt haben.
wenn man die strings nicht 100% benoetigt (das ist bei mir der fall) kann man statt std::string einfach char* verwenden, denn bei denen gibt es keine probleme zum abspeichern.
problem gibt es aber,wenn der name von einheiten eingegeben werden kann, wie in meinem fall beim held:
dafür hab ich aber auch eine lösung für euch dann parat:
eine namensabfrage koennte dann so aussehen:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
|
// Name ist ein char array [20] (kann auch beliebig erhoeht werden
// aber namen mit mehr als 20 zeichen sind komisch:D
// stName ist vom Typ char*
cout << "Gebt eurem Helden einen Namen:\n";
scanf("%19s", &Name[0]);
stName = Name;
|
und beim einladen benoetig ihr dann folgendes
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
|
// //////////////////////////////////////////////////////////////////////////
// /////////////////////// Set Name //////////////////////////
// //////////////////////////////////////////////////////////////////////////
// purpose : - Sets Name
void CHero::SetName()
{
stName = Name;
} // end Set Name
|
das ist deswegen noetig, weil stName von anfang an nicht definiert ist, wie lange der string ist und somit auch nicht korrekt gespeichert/geladen werden kann (wurde auf den seiten zuvor ja schon erklärt).
das char array (Name) kann jedoch korrekt abgespeichert werden und somit kann der name auch wieder hergestellt werden.
für andere char* wie z.b. wenn ihr Klassennamen oder sonstiges habt z.b.:
Held Simon
Rang Todesritter
und Rang ebenfalls vom Typ char* ist braucht ich die SetName funktion nicht, weil Rang von anfang an definiert ist
|
C-/C++-Quelltext
|
1
|
char* Rang = "Todesritter";
|
und somit ein definiertes Ende besitzt.
so wollte das nur noch sagen, falls das wer brauch, der mit euren lösungsvorschläge noch nichts anfangen kann (sowie ich
dafür hab ich noch zu wenig erfahrung irgendwie
).
funktioniert bei mir einwandfrei und bei testern bis jetzt auch, also geh ich davon aus, dass es keine fehler beinhaltet
mfg
Simon