Варианты. 1) режим открытия файла текстовый или двоичный (fopen(..., "rb" или просто "r")). 2) файл не текстовый (содержит символы с кодом 0) и strlen'ом как следствие его длину измерить нельзя, 3) раз речь про strlen(), то значит чтение построчное чем-то вроде fgets() и, возможно, для последнего выделен маленький буфер и строки обрезаются.