Ecco un programma di accettare un:In C trovare la posizione di sottostringa in una stringa
- Frase da un utente.
- Word da un utente.
Come si trova la posizione della parola inserita nella frase?
#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;
}
si può sottrarre 2 puntatori (a 'char') ed interpretare il risultato come un numero intero:' posizione = ptr - sntnc; ' – pmg
** NON FARE USE 'gets()'! NON Fflush() 'INPUT STREAMS! ** – pmg
in Java/JavaScript abbiamo esattamente la funzione che ti serve: indexOf. Tuttavia una ricerca rapida mi ha permesso di trovare una discussione discutendo di ciò che ti serve: una funzione indexOf like in C, per favore controlla questo post: http://stackoverflow.com/questions/4824/string-indexof-function-in-c – gaspyr