Можно ли как-нибудь найти слово "tro_ _ _e", где подчеркивания представляют пропущенные буквы?
У меня есть текстовый файл с 7-буквенным словом в каждой строке. * например 1003 *
trouble
control
reached
further
helping
shatter
biggest
Я пытаюсь сравнить каждое слово со строкой
char check[10]="tro\0\0\0e"
в данный момент я читаю каждую строку и сравниваю, используя:
if(strstr(pword,check)!=NULL)
{
fprintf(wfile,"%s\n",pword);
}
}
fclose(file);
fclose(wfile);
Я понимаю, что мой текущий вывод в wfile:
control
trouble
происходит из-за того, что между «тро» и «е» есть три \ 0, поэтому сравнение просто находит «тро» в словах.
Можно ли как-нибудь найти слово "tro_ _ _e", где подчеркивания представляют пропущенные буквы?
Это для игры палач, и поэтому слова в файле не всегда одинаковы, не всегда 7 букв в длину, и шаблон не всегда "tro_ _ _e", поскольку шаблон представляет буквы, уже угаданные игроком. Ответ в этом случае: «беда»
Например, если игрок угадал «r», «u» и «l». У меня была бы строка, которая была буквально.
char check[10]="\0r\0u\0l\0\0\0\0\0"
поэтому поиск, который я хотел бы найти, был бы для любых слов с шаблоном "_r_u_l"