Я столкнулся с несколькими проблемами с программой, которую я пишу сейчас.strstr работает, только если моя подстрока находится в конце строки
- strstr выводит свою подстроку только если это в конце моей строки
- также выводит некоторые символы мусор после того
- У меня были проблемы с «Const символ * стоге сена», а затем добавить вход в него, так что я сделал это с fgets и GetChar петли
- где-то по пути он работал с подстроки, которая была не только в конце, но я выводимый подстроку, а остальные строки ATER, что
вот мой главный:
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;
}
Там в завершающего «\ 0» отсутствует в стоге сена, который вызовет у вас все виды проблем. – gnasher729