char-Array miteinander vergleichen



  • Hallo zusammen,

    ich muss eine eingegebene Zeichenkette mit einem char Array vergleichen, welches bereits besteht. Allerdings funktioniert das bei mit nicht so wie es eig soll, bzw habe ich keine Idee/Wissen wie ich es umsetzen könnte. Auf Strings würde ich gerne verzichten.

    Gegeben habe ich: char* Name = "irgendein Name"; dann möchte eine eingabe über cin vornehmen, die dann mit Name verglichen wird.

    {
    char* test;
    cin >> test;
    

    funktioniert nicht, da test nicht initialisiert wurde

    {
    char test[10];
    cin >> test;
    

    funktioniert auch nicht, da ich diesen nicht mit Name vergleichen kann

    kann mir jemand helfen?

    Danke



  • Brombeere schrieb:

    {
    char* test;
    cin >> test;
    

    funktioniert nicht, da test nicht initialisiert wurde

    ... funktioniert nicht, weil Du für test keinen Speicher reserviert hast! Ansonsten siehe:
    http://www.cplusplus.com/reference/clibrary/cstring/strcmp/


  • Mod

    Brombeere schrieb:

    Auf Strings würde ich gerne verzichten.

    Warum? Damit wärst du nun schon 3x fertig und hättest zwischendurch keine Fehler gehabt.



  • Brombeere schrieb:

    kann mir jemand helfen?

    Ja.

    #include <iostream>
    #include <string>
    int main()
    {
      using namespace std;
      const char* name = "Rumpelstilzchen";
      string test;
      cout << "Wie ist mein Name?" << endl;
      if (getline(cin,test)) {
        if (test==name) {
          cout << "Das hat dir der Teufel gesagt!" << endl;
        } else {
          cout << "Nein. So heiße ich nicht. :-)" << endl;
        }
      } else {
        cout << "Dann halt nicht! :-p" << endl;
      }
    }
    

    (ungetestet)

    Brombeere schrieb:

    Auf Strings würde ich gerne verzichten

    Verzichte doch stattdessen auf buffer overflows.

    Und sonst findest du in einer Referenz für <cstring> deiner Wahl die diversen C-String-Funktionen, wie strcmp .


Anmelden zum Antworten