Hier zu finden ist ein Programm, eine akzeptieren:In C Position der Teilkette in einem String
- Satz von einem Benutzer.
- Wort von einem Benutzer.
Wie finde ich die Position des im Satz eingegebenen Wortes?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char sntnc[50], word[50], *ptr[50];
int pos;
puts("\nEnter a sentence");
gets(sntnc);
fflush(stdin);
puts("\nEnter a word");
gets(word);
fflush(stdin);
ptr=strstr(sntnc,word);
//how do I find out at what position the word occurs in the sentence?
//Following is the required output
printf("The word starts at position #%d", pos);
return 0;
}
Sie 2 Zeiger subtrahieren kann (bis 'char') und das Ergebnis als Integer interpretiert:' Position = ptr - sntnc; ' – pmg
** NICHT VERWENDEN 'gets()'! NICHT 'fflush()' INPUT STREAMS! ** – pmg
in Java/JavaScript haben wir genau diese Funktion, die Sie brauchen: indexOf. Jedoch eine schnelle Suche ermöglichte mir, einen Thread zu finden, der bespricht, was Sie benötigen: eine indexOf like Funktion in C, überprüfen Sie bitte diesen Pfosten: http://stackoverflow.com/questions/4824/string-indexof-function-in-c – gaspyr