Problem mit char - Arrays
-
Ich habe ein problem mit char - Arrays. Sätze können eingelesen werden und auch ausgegeben, wenn ich es aber mit einer if - Anweisung vergleichen will, um zum Beispiel passende Antworten zu geben, ignoriert er es einfach.
#include <iostream> int main() { char words[20]; cout << "Gebe ein Satz ein!\n"; cin.get(words, 19); if(words == "Hallo du da") // Wird ignoriert springt zur else - Anweisung. cout << "\nGuten Tag"; else cout << "\nDer Satz lautete:\n" << words; return 0; }
Ich hab es auch schon mit einem string versucht, aber bei dem kann man nicht mit "cin.get()" arbeiten. Der Befehl "cin" nimmt nur alles bis zur ersten Leertaste auf. Wie kann ich das Problem lösen?
-
Sollte dich aber nicht wirklich wundern. Schliesslich kann man char-Array so nicht vergleichen. Was gehen würde wäre if ((strcmp(words, "Hallo du da")) == 0). Aber wirklich schön finde ich das nicht.
-
strcmp()
-
Wie kann ich das sonst noch machen. Ich möchte das char - Array auch nicht unbedingt in ein string einbinden. Gibt es nicht ein Befehl um den gesamten Satz in ein string zu speichern?
-
Gibt es nicht ein Befehl um den gesamten Satz in ein string zu speichern?
std::string line; std::getline(std::cin,line); std::cout<<"satz war: "<<line<<std::endl;
-
Danke für die Hilfe! Bis dann denn!