in VC++ environment Im using (string) getline function to read separate lines in opened file. Problem is that getline takes character 1Ah as end of file and if it is present on the line, whole reading ends prematurely. Is there any solution for this?
Code snippet:
fstream LogFile (Source,fstream::in);
string Line
while (getline(LogFile,Line))
{ .... }
File contents:
line1text1asdf
line2text2asd //EOF for getline here
line3asdas // this line will never be read by getline
Thank you for any info.
Kra
Replace getline with a hand-rolled function that reads in character by character until end of line or eof, as defined by you.
I usually prefer to open the file as binary, read the data with the function below, and parse for '\n' and '\r' to detect end of lines.
Yes, Ctrl+Z was the EOF file character for text files in ancient operating systems. It is a control character that really shouldn't be present in a text file, you can't meaningful translate it. Openmode::binary is about all you can do if that's required.