Een bestand openen met ifstream

Status
Niet open voor verdere reacties.

Firbolg

Nieuwe gebruiker
Lid geworden
11 feb 2009
Berichten
2
Hallo, ik heb een probleempje met het lezen van een bestand.

Als ik op deze manier een bestand open werkt het goed.
Code:
ifstream myfile ("test.txt");

Maar op de volgende manier krijg ik een foutmelding.
Code:
string blub = "test.txt";
ifstream myfile (blub);

Hier is deels de foutmelding die Visual C++ me geeft.
Code:
error C2664: 'std::basic_ifstream<_Elem,_Traits>::basic_ifstream(const char *,std::ios_base::openmode,int)' : cannot convert parameter 1 from 'std::string' to 'const char *'
No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called

Weet iemand wat hier het probleem is?
 
Je probeert een std::string mee te geven aan een functie die een char* verwacht. Vandaar de foutmelding.
Om dit op te lossen moet je de stringen even converten naar c-string (char*). Dit kan met de string-member functie: c_str()

ziehier:
Code:
string blub = "test.txt";
ifstream myfile (blub.c_str());
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan