Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Zwei Strings vergleichen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
18.02.2006, 15:17 Uhr
Karldin Shinowa
Professional Noob


Also hab ein Pogramm das nicht funktioniert. also komplimieren schon aber es tut nicht das was ich will..... sitz jetzt schon lange um den fehler zu finden:BITTE HELFT MIR *fleh*

Also es werden 2 strings definiert und dann wird das ganze einer Funktion übergeben die überprüft ob das eine im anderen enthalten ist


C++:
#include<stdio.h>
#include<iostream>
#include<string>
using  std::cout;
using  std::cin;
using  std::string;
bool Check(string wort,string eingabe);


int main()
{
string eingabe="dimi";
string wort="dimitri";

if(Check(wort,eingabe))
{
cout<<"JA";
}
else
{
cout<<"NEIN";
}
getchar();
return 0;
}

bool Check(string wort,string eingabe)
{
int j=0,l=0;

for(int i=0;i<wort.length();i++)
{
   if(eingabe[j]==wort[i]){//wenn ein buchstabe übereinstimmt
      int k=i;
      while(k<wort.length())//solange das wort nicht zuende ist
      {
        
         if(eingabe[l]==wort[k]) continue;//wenn der buchstabe übereinstimmt weiter
         else break;wenn nicht zurück in die for-schleife
        
         if(l==(eingabe.length()-1)) return true;//wenn die eingabe zuende ist ist sie im wort enthalten
         k++;
         l++;
      }
   }
}
return false;
}


--
Ich will die Welt verbessern, doch Gott gibt mir nicht den Code.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
18.02.2006, 15:30 Uhr
CppProgrammer



also nur jetz das VERGLEICHEN von zwei strings geht mit dieser Funktion


C++:
bool CompareStrings(string str1, string str2)
{
     if(str1 == str2)
          return true;
     else
          return false;
}



das liefert dir dann TRUE zurück wenn die strings gleich sind, wenn nicht dann FALSE
noch ein Beispiel wie dus anwenden kannst:


C++:
string str1="hallo", str2="test";
bool bCHECK = CompareStrings(str1, str2);
//bCHECK sollte jetzt FALSE sein



hab den code jetzt nicht getestet, sollte aber funktionieren..
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
18.02.2006, 15:42 Uhr
Karldin Shinowa
Professional Noob



Zitat:
Also es werden 2 strings definiert und dann wird das ganze einer Funktion übergeben die überprüft ob das eine im anderen enthalten ist

"dimi"=="dimitri" wäre false... schön wenns so einfach wär
--
Ich will die Welt verbessern, doch Gott gibt mir nicht den Code.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
18.02.2006, 15:45 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)



Zitat:

bool CompareStrings(string str1, string str2)


Der == Operator wurde eigentlich genau deswegen überladen damit man sich keine Funktion draus basteln muss...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
18.02.2006, 15:50 Uhr
Karldin Shinowa
Professional Noob



C++:
string eingabe="dimi";
string wort="dimitri";
if(eingabe==wort) cout<<"JA";



ergibt false. allerdings is dimi ja in dimitri enthalten. mir geht es hier darum ob das eine im anderen enthalten ist!!!!!!!!!!!!!!!
vllt war der themaname falsch gewählt...
--
Ich will die Welt verbessern, doch Gott gibt mir nicht den Code.

Dieser Post wurde am 18.02.2006 um 15:55 Uhr von Karldin Shinowa editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
18.02.2006, 16:08 Uhr
Spacelord
Hoffnungsloser Fall



C++:
    std::string str1="dudoedeldidi";
    std::string str2="dudoedeldidido";
    if(str2.find(str1) != std::string::npos)
        std::cout<<"Ich mach jetzt naemlich mein Jodeldiplom,dann hab ich endlich was Eigenes."<<std::endl;



MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
19.02.2006, 10:12 Uhr
Karldin Shinowa
Professional Noob


thx was macht das

C++:
!= std::string::npos


--
Ich will die Welt verbessern, doch Gott gibt mir nicht den Code.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
19.02.2006, 10:22 Uhr
virtual
Sexiest Bit alive
(Operator)



Zitat von Karldin Shinowa:
thx was macht das

C++:
!= std::string::npos



Das Gegenteil von

C++:
== std::string::npos



Und die semantische Bedeutung des Rückgabewertes von der Method find() ergibt sich unmittelbar aus der Dokumentation.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: