array string verändern
-
ich habe mir für mein spiel ein char array in einer struktur ersellt, was so aussieht :
struct S_Map
{
char Name[30];
int ID;
};const int Height = 10;
const int Width = 15;
S_Map Map[Width][Height];ich hätte es gerne so, dass ich den string ohne "cin.get(Map[i][i].Name)" verändern kann ich dachte da an dass :
Map[i][i].Name = "Stein";
aber dass funktioniert nich.
wäre nett wenn ihr helfen könntet.
-
strings statt cstrings nutzen
-
???
-
google mal nach "c++ std::string", du solltest hier mal drüber stolpern: C++ Reference
-
achso du meinst mit einer refferens.
werds versuchen danke
-
WhileTrueDo schrieb:
achso du meinst mit einer refferens.
werds versuchen dankewas ist eine refferens und wer meint das?
das hier ist ein cstring:
char Name[30];
das hier ist ein string:
std::string Name;
bei einem string kannst du ganz entspannt
Name = "Stein";
schreiben, so wie du es dir gewünscht hast.
-
dankeschön hast mir sehr geholfen
-
ich benuze cin.get() dies ist nur bei char möglich wie löse ich dass am besten?
-
std::string Name; std::cin >> Name;
damit wird gerade alles bis hin zum nächsten delimitor in den string geschrieben.
-
oder
std::string str; std::getline(std::cin, str);
-
flabahz schrieb:
damit wird gerade alles bis hin zum nächsten delimitor in den string geschrieben.
Nicht delimiter sondern Whitespace, also ein Tabulator, Leerzeichen oder eben auch Zeilenumbruch. Sollte man tatsächlich bis zu einem ganz bestimmten Zeichen hin lesen, nimmt man
std::getline
wie Skym0sh0.
-
ok jetzt klappt alles.
ganz dolle danke
-
okay jetzt geht alles.
danke deswegen .