Sehr geehrtes Forum,
Ich habe ein Problem :
Was ich will :
Ich will den Inhalt einer Datei in mein CharArray laden.
Dann will ich den Inhalt teilen, mit dem trennungszeichen '\n' und diese einzel strings in einem vector speichern.
Mein Code :
|
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
|
// Daten aus Datei lesen
ifstream data(credits_path.c_str(),ios::in);
data.seekg (0, ios::end);
int length = data.tellg();
data.seekg (0, ios::beg);
length--;
char* text = new char[length+1];
data.read(text,length);
data.close();
text[length] = '\0';
// Daten verarbeiten
string sToken;
vector<string> tokens;
for(int i = 0;i<length;i++)
{
if(text[i]=='\n')
{
tokens.push_back(sToken+'\0');
sToken = "";
}
else
{
sToken = sToken + text[i];
}
cout << text[i];
}
delete [] text;
// Daten auswerten
Message m;
// Titel hinzufügen
m.content = tokens[0];
m.type = 0;
messages.push_back(m);
// Daten hinzufügen
for(int i = 1;i<tokens.size()-1;i++)
{
m.content = tokens[i].substr(2);
m.type = atoi(tokens[i].substr(0,1).c_str());
messages.push_back(m);
}
|
Was wirklich passiert :
Wenn ich mir das Array vor der Ausgabe mal ausgeben lasse, kommt zwar der inhalt der datei in die Console, doch noch einige zusatzzeichen, die bei jedem mal anders sind.
Dementsprechend hat der nachfolgende Programmteile Probleme mit der weiterverarbeitung.
Meine Frage und Bitte ans Forum :
Was mache ich denn falsch? Kann mir bitte jemand helfen?
M.f.G. Developer_X