Hallo,
Ich soll in C++ einen String nach einem kleineren String druchsuchen. Hierbei soll ich nciht die std::string Klasse verwenden. Mein Quellcode sieht bis jetzt wie folgt aus:
Hierbei fehlt jetzt natürlich noch die Zeiger zuweisung von dem String zum Char. Jetzt hab ich aber folgende Fragen:
1.) Kann mein Zeiger überhaput vom tpy char sein wenn meine Variable ein String ist?
2.) Wie bekomme ich es jetzt bin das der Zeiger zuanfang auf den ersten Buchstaben zeigt?
Habe schon versucht verschiedne Lösungen aus dem Internet anzuwenden da ich aber in C++ noch ein blutiger Änfänger bin und Zeiger erst seit eineinhalb Wochen kenne hat mir das nicht gerade viel weitergeholfen.
Ich hoffe ihr habt einen kleinen Tipp für mich, wie ich endlich zum ZIel komme.
LG
Ich soll in C++ einen String nach einem kleineren String druchsuchen. Hierbei soll ich nciht die std::string Klasse verwenden. Mein Quellcode sieht bis jetzt wie folgt aus:
Code:
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
//Zur Ueberpruefung ob ein Streing gefunden wurde.
bool wait = true;
//Ernthaelt die Stelle des ersten gefundenen Strings.
int place;
//Die beiden Strings die eingelesen werden, hierbei ist str der zu durchsuch-
//ende und find der in str zu findene STring.
string str, find;
//Die einzelnen Buchstaben von str(p1) und find(p2) zum vergelichen dieser.,
char *p1, *p2;
//Die beiden Strings werden eingegeben.
cout << "suche ";
cin >> str;
cin >> find;
//While Schleife die str druchgeht und mit den einzelnen Buchstaben von dem
//zu findenen String überprüft. Hierbei wird zurerst der erste Buchstabe
//gesucht und wenn dieser gefunden wurde wird überprüft ob diesem der zweite
//folgt, und so weiter.
while(*p1 != '\0'){
for(place = 0 ; *p2 != '\0' ; place++, *p2++){
if(*p1 == *p2){
wait = false;
cout << "Antwort: " << place << endl;
break;
}
*p1++;
}
*p1++;
break;
}
//Wenn kein passender String gefunden wurde wird eine negative Rückmeldung
//gegeben.
if(wait){
cout << "Der String ist nicht gefunden worden." << endl;
}
}
Hierbei fehlt jetzt natürlich noch die Zeiger zuweisung von dem String zum Char. Jetzt hab ich aber folgende Fragen:
1.) Kann mein Zeiger überhaput vom tpy char sein wenn meine Variable ein String ist?
2.) Wie bekomme ich es jetzt bin das der Zeiger zuanfang auf den ersten Buchstaben zeigt?
Habe schon versucht verschiedne Lösungen aus dem Internet anzuwenden da ich aber in C++ noch ein blutiger Änfänger bin und Zeiger erst seit eineinhalb Wochen kenne hat mir das nicht gerade viel weitergeholfen.
Ich hoffe ihr habt einen kleinen Tipp für mich, wie ich endlich zum ZIel komme.
LG