Strings in einem Array speichern
-
Guten Morgen zusammen,
ich würde gerne eine Reihe Strings in einem Array speichern.
In etwa so:array[0]="foto1.bmp"
array[1]="foto2.bmp"In C++ geht das aber glaube ich nicht so einfach, oder?
Hatte an:
char array_animationen[2];
gedacht. Aber dann hab' ich ja nur Zugriff auf die ersten beiden Buchstaben...

Wie kann ich denn einen kompletten String in einen Platz speichern?
Kann da wer helfen?
-
Mit Deiner Array-Definition hast Du überhaupt nur zwwei Buchstaben. Merke: char ist ein Zeichen.
Du möchtest:
std::string array[2];Dann funktioniert es auch so wie in Deinem Beitrag.
-
Ok, danke!
Noch eine Anfängerfrage hinterher...
std:: bezieht sich auf diese #include <stdio.h> oder auf diese
#include <stdlib.h> Bibliothek?
Ist doch eine Funktion aus einer dieser Bibliotheken, oder?
-
std bezieht sich auf den namespace, in dem die Klassen der Standardbibliothek liegen.
std::string bezieht sich auf die darin enthaltene string-Klasse, einzubinden via#include <string>Die Header die du meinst, gehören zu C, nicht zu C++.
Lies doch mal ein Grundlagentutorial. Oder ein Buch.
-
Du kannst auch ein dynamisches Array wie std::vector nehmen.
#include <vector> #include <string> int main() { std::vector<std::string> vec; for ( int i = 0; i < 5; i++) { std::string message = "Hello World"; vec.push_back(message); } }rya.
-
Meine Idee war folgendermaßen die Bilder zu laden:
x=0 std::string osito_animationen[2]; osito_animationen[0]="osito_vorne.bmp"; osito_vorne = SDL_LoadBMP(osito_animationen[x]);Klappt aber nicht...

Weiß jemand wieso?
-
Barcelona schrieb:
Klappt aber nicht...

Herrje, muss man euch Gameprogger-Noobs immer alles aus der Nase ziehen. "Klappt nicht" ist keine Fehlerbeschreibung!
-
Fehlermeldung:
C:\C++\Artes_Marciales\grafik.cpp|36|error: cannot convert `std::string' to `const char*' for argument `1' to `SDL_RWops* SDL_RWFromFile(const char*, const char*)'|
@Troll: Ja, ist das erste Spiel, dass ich schreibe, aber die Tonart kannst du dir sparen.
-
osito_vorne = SDL_LoadBMP(osito_animationen[x].c_str());Ich würde mit den Spielen ja auch warten, bis du mit den Grundlagen durch bist, aber bitte.
-
Vielen Dank! Funktioniert

Und zum Thema Grundlagen lernen... habt ihr natürlich Recht, muss man lernen!
Hab' auch schon 2 Bücher größtenteils durchgearbeitet...
und jetzt lerne ich halt weiter an einem Spiel, um dabei auch Spaß zu haben.
Wenn ich an einem Punkt nicht weiterkomme, muss ich halt nach Lösungen suchen oder im Forum mal nachfragen, aber so lerne ich sehr gut! Wesentlich besser, als nur Tutorials zu lesen.Also danke für die Hilfe!
Könntest du mir vielleicht noch kurz erklären, was das
.c_str()macht?
-
Barcelona schrieb:
Vielen Dank! Funktioniert

Und zum Thema Grundlagen lernen... habt ihr natürlich Recht, muss man lernen!
Hab' auch schon 2 Bücher größtenteils durchgearbeitet...
und jetzt lerne ich halt weiter an einem Spiel, um dabei auch Spaß zu haben.
Wenn ich an einem Punkt nicht weiterkomme, muss ich halt nach Lösungen suchen oder im Forum mal nachfragen, aber so lerne ich sehr gut! Wesentlich besser, als nur Tutorials zu lesen.Also danke für die Hilfe!
Könntest du mir vielleicht noch kurz erklären, was das
.c_str()macht?
http://www.yolinux.com/TUTORIALS/LinuxTutorialC++STL.html
Das hier abarbeiten. Und der Troll hat Recht :). Klappt nicht ist keine Fehlerbeschreibung.
-
Ok, danke. Werd' mich mal an das Thema machen, hab' das Thema "STL" leider in meinem Buch übersprungen gehabt

Wird dann jetzt nachgeholt...
-
Könntest du mir vielleicht noch kurz erklären, was das
C/C++ Code:
.c_str()
C/C++ Code:
.c_str()
C/C++ Code:
.c_str()
macht?