Я столкнулся с парой проблем с программой, которую сейчас пишу.
- strstr выводит мою подстроку, только если она находится в конце моей строки
- он также выводит некоторые символы мусора после этого
- У меня были проблемы с "const char *haystack" и последующим добавлением к нему ввода, поэтому я сделал это с циклом fgets и getchar
- где-то по пути он работал с подстрокой, которая была не только в конце, но потом я вывел подстроку и остальную часть строки после этого
вот мой основной:
int main() {
char haystack[250],
needle[20];
int currentCharacter,
i=0;
fgets(needle,sizeof(needle),stdin); //getting my substring here (needle)
while((currentCharacter=getchar())!=EOF) //getting my string here (haystack)
{
haystack[i]=currentCharacter;
i++;
}
wordInString(haystack,needle);
return(0);
}
и моя функция:
int wordInString(const char *str, const char * wd)
{
char *ret;
ret = strstr(str,wd);
printf("The substring is: %s\n", ret);
return 0;
}