Dateien mit variablen Namen öffnen
-
Hiho,
Ich habe mehre Dateien die ganz einfache Namen haben ( 1.gmp;2.gmp;3.gmp usw. ).
Diese möchte ich nun auslesen, doch bekomme ich schon beim Öffnen Probleme.
Lesefunktion:void Map::loadmap(int mapid) { std::fstream file; std::stringstream Str; Str << mapid; std::string s(Str.str()); s = "Maps\\" + s; s += ".gmp"; file.open(s); file.close(); }Jedoch mag mein Compiler ( MVC++ ) meine Idee nicht und ich bekomme immer die Fehlermeldung;
error C2664: 'void std::basic_fstream<_Elem,_Traits>::open(const wchar_t *,std::ios_base::openmode,int)': Konvertierung des Parameters 1 von 'std::string' in 'const wchar_t *' nicht möglich
with
[
_Elem=char,
_Traits=std::char_traits<char>
]
Kein benutzerdefinierter Konvertierungsoperator verfügbar, der diese Konvertierung durchführen kann, oder der Operator kann nicht aufgerufen werdenBedeutet das das die Funktion open nicht mit strings geht?
-
Probieres mal mit:
file.open(s.c_str ());
-
richtig geht nicht direkt mit std::string. musst noch c_str() von std::string aufrufen
-
Danke
![:] 🙂](https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso)
Funktioniert.