[Erledigt]D3DXLoadSurfaceFromFile variabler Dateiname?
-
Hi,
wie der Titel schon sagt versuche ich in der Funktion:
D3DXLoadSurfaceFromFile(m_lpSurface, // Oberflaeche in die die Grafik // geladen werden soll NULL, // Palette NULL, // Zielrechteck "Charset/Newabraxas.bmp", // Dateiname der // Grafik NULL, // Quellrechteck D3DX_FILTER_NONE, // Filter 0, // Colorkey NULL);
den 4. Parameter, also den string durch eine Varible string zu ersetzen, allerdings akzeptiert er das nicht. Nun stehe ich vor einem Problem, da ich meine Funktion ja nicht 2000 mal schreiben möcht, nur mit geändertem string.
Was habe ich da für Möglichkeiten?
Jemand eine Idee?mfg
-
> allerdings akzeptiert er das nicht.
Wieso akzeptiert er das nicht?
std::list<std::string> files = load_some(); for(std::list<std::string>::const_iterator iter = files.begin(); iter != files.end(); ++iter) { D3DXLoadSurfaceFromFile(m_lpSurface, // Oberflaeche in die die Grafik // geladen werden soll NULL, // Palette NULL, // Zielrechteck iter->c_str(), // Dateiname der // Grafik NULL, // Quellrechteck D3DX_FILTER_NONE, // Filter 0, // Colorkey NULL); }
-
D3DXLoadSurfaceFromFile(m_lpSurface, // Oberflaeche in die die Grafik // geladen werden soll NULL, // Palette NULL, // Zielrechteck your_string.c_str(), // Dateiname der // Grafik NULL, // Quellrechteck D3DX_FILTER_NONE, // Filter 0, // Colorkey NULL);
Wenn du das genaue Problem mit dem Fehler postest, dann hilft das üblicherweise sehr viel weiter.
Du hast Glück, dass das Problem recht einfach zu beheben ist.
-
std::string
hat die Methodec_str()
, die dir einenconst char*
auf den Inhalt gibt.std::string file("Charset/Newabraxas.bmp"); D3DXLoadSurfaceFromFile(m_lpSurface, // Oberflaeche in die die Grafik // geladen werden soll NULL, // Palette NULL, // Zielrechteck file.c_str(), // Dateiname der // Grafik NULL, // Quellrechteck D3DX_FILTER_NONE, // Filter 0, // Colorkey NULL);
-
Dankeschön.
Ich habe mir gedacht, das ich hier nicht unbedingt eine Fehlermeldung brauche, da die Funktion ja recht häufig genutzt werden sollte.
Aber gut, werde ich mir für das nächste mal merken^^mfg
-
Dieser Thread wurde von Moderator/in pumuckl aus dem Forum C++ in das Forum Spiele-/Grafikprogrammierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.