ifstream
-
- Beiträge: 13
- Registriert: 9. März 2010 20:08
Geht doch viel leichter
Code: Alles auswählen
ifstream file("test.txt");
string tmp;
while( file ) {
file >> tmp;
cout << tmp << endl;
}
-
- Beiträge: 13
- Registriert: 9. März 2010 20:08
jetzt bekomme ioch aber ein 'Signal'
bei
das hat wohl mit ner zugriffsverletzung zu tun..
Code: Alles auswählen
Signal erhalten
---------------------------
Der Prozess wurde nach Erhalt eines Signals vom Betriebssystem angehalten.
Name des Signals :
SIGSEGV
Bedeutung : Segmentation fault
---------------------------
OK
---------------------------
Code: Alles auswählen
sf::Sprite gameObjects[2];
int i;
void readData()
{
float temp1 = 0;
float temp2 = 0;
float temp3 = 0;
float temp4 = 0;
std::string imgString;
sf::Image img;
i = 0;
std::ifstream file("data.txt);
while(file)
{
file>>temp1;
file>>temp2;
file>>temp3;
file>>temp4;
file>>imgString;
img.LoadFromFile(imgString);
gameObjects[i] = sf::Sprite();
i++;
gameObjects[i].SetPosition(sf::Vector2f(temp1, temp2));
gameObjects[i].SetScale(sf::Vector2f(temp3, temp4));
gameObjects[i].SetImage(img);
}
Code: Alles auswählen
gameObjects[i] = sf::Sprite();
i++;
gameObjects[i].SetPosition(sf::Vector2f(temp1, temp2));
gameObjects[i].SetScale(sf::Vector2f(temp3, temp4));
gameObjects[i].SetImage(img);
Außerdem wäre es interessant zu wissen, wie oft die Schleife durchlaufen wird, also das genau in der Datei steht. Denn wenn i größer als 1 wird, dann ist es klar, dass das Programm abstürzt.
-
- Beiträge: 503
- Registriert: 29. Dezember 2006 22:54
- Wohnort: HL
-
- Beiträge: 13
- Registriert: 9. März 2010 20:08
Was genau ist "gameObjects"?
std::list, std::vector, oder ein einfaches Array?
Ich nehme mal an dass dein Index "i" größer ist als die Struktur Elemente enthält.
Hast du da eine Liste (vector, list, ...) solltest du neue Elemente mit push_back anhängen, wenn du nicht mit resize() schon vorher genügend Platz beschaffen hast.
std::list, std::vector, oder ein einfaches Array?
Ich nehme mal an dass dein Index "i" größer ist als die Struktur Elemente enthält.
Hast du da eine Liste (vector, list, ...) solltest du neue Elemente mit push_back anhängen, wenn du nicht mit resize() schon vorher genügend Platz beschaffen hast.
-
- Beiträge: 13
- Registriert: 9. März 2010 20:08