Hallo C Freunde!
Ich versuche gerade eine Funktion in C zu schreiben die in String1 nach String2 sucht und dessen Anfangsposition ausgibt.
also zum Beispiel:
Ich weiß das es dafür bereits eine vorgefertigte Funktion in c gibt allerdings darf ich die laut Aufgabenstellung nicht benutzen!!
also was ich bereits habe ist folgendes:
Alles anzeigen
strlaenge liefert mir die Länge des Strings zurück und Funktioniert auch.
Mein Problem ist einfach die Funktion substr da ich keine ahnung habe wie ich das ganze machen soll.
Ich muss ja praktisch beide Strings durchlaufen und jeden Buchstaben mit einander vergleichen. Dann speicher ich jeden Gleichen Buchstaben wieder in ein Hilfarray und vergleiche dieses dann mit dem String den ich suche. Womit ich praktisch wieder am Anfang stehe also schwachsinn. Ich scheiter einfach an der Tatsache das ich einen zusammenhängenden String suche.
Ich hoffe ihr könnt mir helfen ich weiß meine Erklärung war nicht so gut ist aber auch schwer per Forum zu erklären:
Ich versuche gerade eine Funktion in C zu schreiben die in String1 nach String2 sucht und dessen Anfangsposition ausgibt.
also zum Beispiel:
Ich weiß das es dafür bereits eine vorgefertigte Funktion in c gibt allerdings darf ich die laut Aufgabenstellung nicht benutzen!!
also was ich bereits habe ist folgendes:
Quellcode
- int substr (const char* str1, const char* str2);
- int strlaenge(const char* str);
- char ausgabe(char* str);
- int substr (const char* str1, const char* str2)
- {
- int i;
- int k;
- int c=0;
- char* b = (char*)malloc(sizeof(char));
- for(i=0; i<strlaenge(str2);i++)
- {
- for(k=0; strlaenge(str1); k++)
- {
- if(str2[i]==str1[k])
- {
- b[code=c]=str1[i];
- c++;
- }
- }
- }
- }
strlaenge liefert mir die Länge des Strings zurück und Funktioniert auch.
Mein Problem ist einfach die Funktion substr da ich keine ahnung habe wie ich das ganze machen soll.
Ich muss ja praktisch beide Strings durchlaufen und jeden Buchstaben mit einander vergleichen. Dann speicher ich jeden Gleichen Buchstaben wieder in ein Hilfarray und vergleiche dieses dann mit dem String den ich suche. Womit ich praktisch wieder am Anfang stehe also schwachsinn. Ich scheiter einfach an der Tatsache das ich einen zusammenhängenden String suche.
Ich hoffe ihr könnt mir helfen ich weiß meine Erklärung war nicht so gut ist aber auch schwer per Forum zu erklären: