Adresse als Rückgabewert einer Funktion
-
Hallo, ich soll die Funktion strstr neu schreiben, bin sogut wie fertig nur mit der Rückgabe stimmt was nicht:
char * strstr(const char * sp1, const char * sp2){ for(int i=0;i<strlen(sp1);i++){ for(int x=0;x<strlen(sp2);x++){ if(sp1[i+x]==sp2[x]){ }else{ break; } if(sp1[i+x]==sp2[x]&&x+1==strlen(sp2)){ return &sp1[i]; //HIER STIMMT WAS NICHT! } } } return NULL; }
Wie macht man das richtig?
mfg.
-
Sorry, falscher Bereich... Sollte eig. nach "C++ (auch C++0x)"
-
Dieser Thread wurde von Moderator/in Jochen Kalmbach aus dem Forum C++/CLI mit .NET in das Forum C (C89 und C99) verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Was stimmt denn nicht?
Außer dass es nur C99 ist, sieht doch erstmal alles OK aus.
-
Die Frage wurde bereits im C++Forum beantwortet, der Rückgabewert muss const char* sein.