Bufferizzati tot byte alla volta e lavora direttamente sul buffer facendo un po' di parsing. Ti basta trovare i '\n' per identificare i fine linea, a quel punto vedi se prima c'è un solo numero o due. Ovviamente non leggere solo 3-4 caratteri alla volta altrimenti fai un casino di syscalls.