In generale va bene, anche io ho scritto un bel po' di codice direttamente per MPU/CPU (dalla 65xx, a Z80, 808x e successive, ST, varie famiglie Microchip …) e in quei casi la gestione della memoria è certamente importante.
Per quanto riguarda questo thread, valuto di più la parte “didattica” ovvero come l'utente è stato abituato nel suo corso di studi. Altri tipi di approcci, forse, potrebbero distrarlo e/o confonderlo, anche se leciti e anche migliori.
Approcciare a gestire un flusso significa, in maniera embrionale, gestire una macchina a stati, e la cosa potrebbe risultatare efficiente e funzionante. Ma se l'esperienza non è sufficiente, allora ci si può bloccare e non riuscire a terminare il codice.
Con l'approccio, lettura linea in un buffer e gestione del contenuto del buffer, probabilmente si è più aderenti a quanto studiato.