strpos in C- wie funktioniert es?

9

Ich bin wirklich neu in C.

Ich möchte die strpos-Funktion verwenden, aber sie sagt mir, dass sie nicht existiert?

    
SuperString 19.01.2010, 07:32
quelle

5 Antworten

12

Die Funktion, nach der Sie suchen, kann entweder strstr oder strchr sein. Sie müssen dann string.h einschließen. In der POSIX-Schnittstelle gibt es keine strpos.

    
user231967 19.01.2010, 07:34
quelle
19

Hier ein kompletter Code, um Ihr Problem zu lösen. PS : Es ist nicht zu spät, um zu helfen. ;)

%Vor%

Bearbeiten : Beantworten Kann Vural Frage:

Nein. Ich denke wirklich, dass es so wäre wie es ist. Beim strukturierten Programmierparadigma ist es üblich, die Bereichsstruktur als ersten Parameter für jede Funktion zu verwenden, die selbst zum Bereich der Struktur gehört. Die strstr-Funktion, die in string.h definiert ist, folgt demselben Ansatz.

Auf OOP hast du haystack.indexOf( needle ) . Bei der strukturierten Programmierung haben Sie indexOf( haystack, needle ) .

    
Miere 05.10.2011 00:28
quelle
3

Ja. Es heißt strstr , bezogen auf strpos like (Pseudocode):

%Vor%     
kennytm 19.01.2010 07:33
quelle
0

Ich habe strpos () -Funktion von Grund auf mit Positionsfunktion geschrieben (Wie die PHP-Funktion strpos ()). Der Rückgabewert ist die Startposition der gesuchten Zeichenfolge. Genießen! :)

  

In diesem Beispiel ist die Ausgabe des Codes 12

%Vor%     
Abdulla 07.01.2017 17:14
quelle
0

Dies ist eine Antwort auf Miere und Can Vural. Ich kann noch keine Kommentare hinzufügen und füge das als Antwort hinzu.

  

Sollte es nicht strop sein ("string", "substring") - Kann Vural

     

Bei der strukturierten Programmierung haben Sie indexOf (Heuhaufen, Nadel). Miere

In Ihrem Code haben Sie:

%Vor%

aber Sie haben auch:

%Vor%

Ich stimme dem "int strpos (char * haystack, char * nadel)" voll zu, wobei die zu durchsuchende Zeichenfolge zuerst kommt und die Zeichenfolge, nach der FOR gesucht wird, an zweiter Stelle steht. Aber für mich ist "substring" (im Kontext von "eins ist ein Teilstring und eins ist ein String"), "substring" impliziert, dass IT der kürzere der beiden ist und dass Sie versuchen, "substring" in " Zeichenfolge. "

Also der eine Teil:

%Vor%

sollte sein:

%Vor%

Das wäre das gleiche wie:

%Vor%     
Mike Anderson 07.03.2018 08:49
quelle

Tags und Links