Оператор mod возвращает остаток, полученный в результате деления ..., поскольку 9 делится на три без остатка, возвращаемое значение будет равно нулю.
Однако условные выражения оцениваются как true, если они не равны нулю,ложь, если ноль.Вам нужно изменить его на (file_int % 3 == 0)
.