Erstmal danke ich dir, für diesen Code, aber er enthält einige Schreibfehler, ich hoffe du weißt das,
Verstehe mich bitte nicht falsch, aber ich bin verdammt verärgert, dass du mir hier einfach einen Code postest, ohne dass ich ihn selbst erstellt habe,
und ihn einfach so verwenden soll.
Auf jeden Fall, ich möchte immer, wenn ich um Hilfe bitte, wissen was an meinem Code denn falsch ist, und nicht eine fertige lösung bekommen, verstehe mich bitte.
Ich werde hier mal meinen Code posten, und will wissen warum dieser nicht binär in Dateien schreibt :
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
void Highscores::loadHighscores()
{
struct stat stFileInfo;
if(0==stat("Highscores.bin",&stFileInfo))
{
// Datei auslesen
ifstream data ("Highscores.bin", ios::in | ios::binary);
data.seekg (0, ios::end);
int length = data.tellg();
data.seekg (0, ios::beg);
char* text = new char[length];
data.read(text,length);
data.close();
// Daten verarbeiten
string sToken;
vector<string> tokens;
for(int i = 0;i<length;i++)
{
if(text[i]=='\n')
{
tokens.push_back(sToken);
sToken = "";
}
else
{
sToken = sToken + text[i];
}
}
int profiles = atoi(tokens[0].c_str());
int token = 1;
long points;
string name,date;
Score s;
for(int i = 0;i<profiles;i++)
{
name = tokens[token];
token++;
points = atoi(tokens[token].c_str());
token++;
date = tokens[token];
token++;
s.name = name;
s.points = points;
s.date = date;
scores.push_back(s);
}
delete[] text;
}
}
void Highscores::saveHighscores()
{
ofstream data ("Highscores.bin", ios::out | ios::binary);
int scoresSize = scores.size();
save(data,toString(scoresSize)+"\n"); // Anzahl der Profile speichern
for(int i = 0;i<scoresSize;i++)
{
save(data,scores[i].name+"\n"); // Name speichern
save(data,toString(scores[i].points)+"\n"); // Punkte speichern
save(data,scores[i].date+"\n"); // Datum speichern
}
data.close();
}
void Highscores::save(std::ofstream &data, std::string content)
{
data.write(content.c_str(),content.size()*sizeof(char));
}
|
Mein Programm funktioniert super, nur dass er nicht binär schreibt, obwohl ich binary flags verwende, das verwundert mich wirklich,
Meine momentane Laune :
Teilweise :
und Teilweise :
sowie :
Danke wenn du mir das beantworten könntest, m.f.G. Developer_X