Aquí hay un programa para aceptar una:encontrar la posición de una subcadena en una cadena
- frase de un usuario.
- Palabra de un usuario.
¿Cómo puedo encontrar la posición de la palabra ingresada en la oración?
#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;
}
puede restar 2 punteros (a 'char') e interpretar el resultado como un entero:' posición = ptr - sntnc; ' – pmg
** NO USE 'gets()'! NO 'fflush()' INPUT STREAMS! ** – pmg
en Java/JavaScript tenemos exactamente la función que necesita: indexOf. Sin embargo, una búsqueda rápida me permitió encontrar un hilo de discusión sobre lo que necesita: un índice de función similar en C, consulte esta publicación: http://stackoverflow.com/questions/4824/string-indexof-function-in-c – gaspyr