moin,
ich hab mich mal endlich rangewagt und möchte in den semesterferien einen kleinen 2d sidescroller coden. das erste wagnis ist jedenfalls schon da.
hier ist die betreffende funktion:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
|
bool boom::take_scrshot(std::string filename) {
std::stringstream resulting_name;
resulting_name << filename << m_scrshot_nr++ << ".jpg" << std::endl;
//std::cout << resulting_name.str() << std::endl;
sf::Image Screen = m_window.Capture();
Screen.SaveToFile(resulting_name.str());
}
|
die methode bekommt also einen string übergeben, bei mir ist es "screenshot". damit ich mehrere screenshots machen kann, zählt er nach jedem screenshot die membervariable m_scrshot_nr hoch.
ich weiss, das die methode einen rückgabewert erwartet, da muss ich mich noch schlau lesen wie ich die rückgabe von screen interpretieren muss.
aber darum geht es nicht, ich schiebe erst alles fröhlich in den stringstream und möchte an den resultierenden string später per str() ran. beim cout funktioniert es noch ganz super, SaveToFile meckert allerdings rum:
Failed to save image "screenshot0.jpg". Reason: this image format is not supported.
übergebe ich aber direkt "screenshot0.jpg" hat er damit kein problem.
wo liegt das problem?
die str() gibt doch einen stinknormalen string zurück oder nicht?
danke im voraus und seid nicht so streng. ich komme aus der javawelt und programmiere c++ erst seit knapp 4 monaten