Как насчет этого ...
if (!strcmp(strrchr(str, '\0') - 4, ".avi")){
//The String ends with ".avi"
}
char *strrchr(const char *str, int c)
- Возвращает указатель на последний соответствующий символ, найденный в строке, включая символ NULL, если вы укажете это.В этом случае я использую его, чтобы получить указатель на конец строки, а затем перемещаю указатель на 4 шага назад, таким образом давая указатель на последние 4 символа строки.
Затем я сравниваюпоследние 4 символа в ".avi" и, если они совпадают, strcmp возвращает 0 или логическое значение FALSE, которое я инвертирую в своем условии if.