Originariamente inviato da domeniko92
quindi, se ho capito bene, nel ciclo interno (for) l'ultima operazione di estrazione dal file non estrae il carattere di terminazione di riga (<eol> per intenderci) che viene estratto all'iterazionesuccessiva del primo getline, giusto?
In Windows la terminazione della linea è CR LF (caratteri 13 10).
Il CR viene identificato come fine linea e il LF viene lasciato ancora da leggere.

A questo punto mi sorgono spontanee 2 domande:
1. Il comando ifile.getline( s, n, c ) NON memorizza una [I]riga[\I] nella variabile s, fino al max n caratteri o fino al raggiungimento del carattere c (che viene scartato e saltato), come il nome suggerirebbe, ma tutti gli n caratteri che incontra fino al raggiungimento del carattere c.
Non si ferma al carattere di terminazione di ruga se lo incontra, vero?
Non ho capito questo tuo dubbio. La getline legge fino al carattere c leggendolo ma escludendolo; in ogni caso, non legge più di n caratteri (a prescindere da c).
Ma il problema non è la getline.

2. Suppongo che "0x0A" sia un modo per indicare il carattere di terminazione di riga. Di quale codifica fa parte?
E' uguale sostituirlo in questo tipo di istruzione ad un più canonico '\n' ?
Se si, cosa cambia in generale?
Non cambia nulla. La codifica è la classica ASCII e 10 (0x0A in esadecimale) è il valore ASCII di '\n'. E' una mia abitudine ma puoi usare tranquillamente '\n' al posto di 0x0A (o di 10)