Wort in string oder char?



  • Hi,

    ich habe gestern mal ein kleines programmchen geschrieben, um das ausrechnen von Matchergebnissen erleichtert, dort muss man noch den namen der gespielten Maps angeben. So nun hab ich es so gemacht

    ...
    char m_nameOfMap1;
    ...
    

    und später dann

    ...
    cin >> nameOfMap1;
    ...
    

    nur wenn man da jetz einen buchstaben angibt geht es, aber wenn man da z.B. "ab" reinschreibt oder sonstwas geht es nicht. ich hab es auch mit

    ...
    string m_nameOfMap1;
    ...
    

    ausprobiert. Mit string lässt es sich garnicht kompilieren. please help 😞

    MfG,
    skY



  • bei string musst du
    den namespace std; einbinden ( was du wohl hast da du auch cin benutzt.)
    des weiteren musst du ggf noch ein #include<string> hinzufügen.
    Was meinst du mit "nicht kompilieren", ich bitte um Fehlermeldung.

    zu char :
    Der datentyp char hät EINEN nur EINEN buchstagen. Wenn du also einem char zB einen buchstaben zuweist ist alles ok :
    char c='a';
    mit "a" wird der kompiler schon nicht arbeiten wollen. weil du ja nen "string" zuweist. sowas kannst du zb dann mittels
    char *str;
    und dann einer funktion wie strncpy(); machen.
    Ich würde dir aber zum std::string raten.



  • in char passt nur 1 Zeichen 🙄

    um string zu benutzen musst du noch

    #include <string>
    using namespace std;
    

    dazu schreiben

    theduke



  • oder halt sowas wie char t[256];

    aber std::string ist vorzuziehen wie shapeless schon meinte.
    und lies lieber mit std::cin.getline(); ein.



  • yeah vielen dank für die schnelle hilfe leutz, ich hab es jetzt mit string gemacht und hatte vergessen #include <string> einzufügen, bzw. ich hab nicht gewusst das man bei string noch #include <string> einfügen muss. läuft jetzt einwandfrei.

    MfG,
    skY



  • häh??
    Soweit ich weiß, wird #include <string>, falls nicht vorher irgendwie vorgenommen automatisch von der iostream mit eingebunden, was bedeutet, eigentlich könnte man darauf zugreifen ohne, dass man den string header includet hat



  • Vorden schrieb:

    häh??
    Soweit ich weiß, wird #include <string>, falls nicht vorher irgendwie vorgenommen automatisch von der iostream mit eingebunden, was bedeutet, eigentlich könnte man darauf zugreifen ohne, dass man den string header includet hat

    Sollte man dennoch tun. Unter VC6 funktioniert beispielsweise der
    "cout <<..." auf einen string NICHT ohne den include. :p


Anmelden zum Antworten