In C finde die Position des Teilstrings in einem String

7

Hier ist ein Programm zum Akzeptieren eines:

  1. Satz von einem Benutzer.
  2. Wort von einem Benutzer.

Wie finde ich die Position des im Satz eingegebenen Wortes?

%Vor%     
Mugambo 06.08.2012, 21:53
quelle

6 Antworten

15

Der Zeiger ptr zeigt auf den Anfang von word , so dass Sie die Position des Satzzeigers, sntnc , davon abziehen können:

%Vor%     
Gingi 06.08.2012 22:00
quelle
4

Die Rückgabe von strstr () ist ein Zeiger auf das erste Auftreten Ihres "Wortes", also

%Vor%

Dies funktioniert nur, weil sntc und ptr Zeiger auf dieselbe Zeichenfolge sind. Um zu verdeutlichen, wann ich das Vorkommen sage, ist es die Position des ersten übereinstimmenden Zeichens, wenn die übereinstimmende Zeichenkette in der Ziel-Zeichenkette gefunden wird.

    
Ralph Johnson 06.08.2012 22:03
quelle
2

Nur als Referenz:

%Vor%     
xtrm 17.04.2013 14:36
quelle
1

Aus irgendwelchen Gründen hatte ich Probleme mit strstr (), und ich wollte auch Index.

Ich habe diese Funktion gemacht, um die Position der Teilzeichenkette innerhalb einer größeren Zeichenkette zu finden (falls vorhanden), andernfalls gebe ich -1 zurück.

%Vor%     
Pranav Nandan 24.03.2014 04:55
quelle
0

Mein Kommentar zum ORIGINAL Beitrag in diesem Thread: Diese Deklaration ist FALSCH:

%Vor%

C-Code würde nicht einmal kompilieren: Es wird in dieser Zeile fehlschlagen:

%Vor%

Also sollte die Zeile geändert werden zu:

%Vor%

Und du brauchst KEINEMory, der 'ptr string' zugewiesen ist. Sie brauchen nur einen Zeiger auf char.

    
derlo 26.09.2014 09:30
quelle
0

Sie können diese einfache strpos-Modifikation verwenden

%Vor%     
Howard J 07.11.2017 14:46
quelle

Tags und Links