wort gleich dem wort aus der datei?



  • hi..

    kann mir jemand weiter helfen?..

    char ein;
    
    //....
    
    cout << "Eingabe: ";
    cin >> ein;
    
    const char *s;
    
    //...
    
    while(*s!='\0')
    {
    ifstream datei("nummer.txt");
    while (datei)
       {
       datei >> a.name
    	>> a.tele;
    
    	if(ein==a.name)  //..error C2040: '==' : 'int' unterscheidet 
                              //sich von 'char [3]' in bezug auf die Anzahl
                              // vorgenommener Dereferenzierungen  :confused: 
    	{
    	cout << a.tele;
    	}	
        }
    }
    
    //....
    

    naja... er soll abfragen, ob 'ein'(das eingegebene wort) gleich dem wort ist... was grade 'a.name' ist

    ...nur er zeigt da nen fehler an.... kA..wie ich den deuten soll/kann...
    😞

    *g* bitte einfach erklären^^

    thx



  • Hallo,

    das kannst du so nicht machen, denn das eine ist ein Zeiger auf eine Zeichenkette
    und das andere ist ein einfaches zeichen.

    Du koenntest das Programm folgendermassen aendern:

    std::string ein;
    
    //....
    
    cout << "Eingabe: ";
    cin >> ein;
    
    const char *s;
    
    //...
    
    while(*s!='\0')
    {
    ifstream datei("nummer.txt");
    while (datei)
       {
       datei >> a.name
        >> a.tele;
    
        if(ein==a.name)  
        {
        cout << a.tele;
        }   
        }
    }
    

    Fuer std::string ist der op ==(const char 😉 ueberladen und du kannst so
    C-Zeichenketten mit std::string-Objekten vergleichen (oder besser, mit dem
    Inhalt von std::string-Objekten).

    hoffe ich konnte helfen.

    mfg
    v R


Anmelden zum Antworten