Ich möchte innerhalb einer Funktion eine Stringliste mit Daten aus einer Datei füllen. Ich bekomme aber Probleme mit der übergabe der Liste und würde mich freuen, wenn mir jemand ein paar Tips geben kann, wiei ch das Problem beheben kann
Das ist die Funktionsdeklaration:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
void ReadStringFromFile(list<string*> *lData, string sFileName)
{
FILE *file;
string sData;
file = fopen(sFileName.c_str(),"a+b");
while(fread(&sData,sizeof(string),1,file))
{
lData->push_back(sData); //Hier kommt der erste Fehler
}
fclose(file);
}
|
Und das der Aufruf in der Main Datei:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
|
int main ()
{
list<string*> lstrings;
list<string*>::iterator i;
string *test;
ReadStringFromFile(&lstrings, "blub2.txt"); //Hier kommt der zweite Fehler
return 0;
}
|
Und hier die Fehlermeldungen:
fileio.cpp(11) : error C2664: 'std::list<_Ty>::push_back': Konvertierung des Parameters 1 von 'std::string' in 'std::basic_string<_Elem,_Traits,_Ax> &' nicht möglich
main.cpp(35) : error C2664: 'ReadStringFromFile': Konvertierung des Parameters 1 von 'std::list<_Ty> *' in 'std::list<_Ty>' nicht möglich