Per quel che ne so, ftell() "ragiona" in binario, per cui prende in considerazione tutti i byte presenti in un file. Il classico "a capo" viene gestito in modo diverso a seconda della piattaforma; ad esempio secondo i sistemi Apple dei vecchi tempi era '\r', secondo Windows è '\r\n' e secondo linux è '\n' (non sono del tutto sicuro per quel che riguarda Linux, perché non ne ho esperienza diretta).
Dunque, a seconda di dove e come è stato scritto il file di testo, un "a capo" potrebbe essere di uno o due caratteri, e non è detta che siano sempre gli stessi. Sono le gioie della intelligentissima mancanza di uno standard univoco, assai probabilmente dovuta a guerre commerciali decise da qualche squadrone di dirigenti infoiati, guerre delle quali pagano lo scotto coloro che non c'entrano nulla (anche se son chiamati a campar fuori fior di soldoni, se no come farebbero detti dirigenti a cambiare i loro BMW ogni tre per due?).