I have a few question re manipulating text files using fstream.
In my project I need to convert one file format to another (basically just adding a header to the new file). However part of the header requires me to specify the number of lines in the original file - something I can only know after I have looped through the entire file.
Q1 - Is there a way that I can open a file and insert lines at a) a certain point in the file ie line 10, b) insert lines at the start of the file. I only found reference to being able to append ios::app
Q2 - Is there a way of looping through the file to increment a counter. I tried
but this just went into an endless loop. I believe because I'm not actually reading anything in. Obviously doing this I would then close the file, and then reopen it for reading. Inefficient but I need the number of lines to be in the header. I could just read something in but again this takes time.Code:while (!finput.eof()){ numOfDataPoints++; }
Thanks for comments
PS - Q3 - I do a read from my file ie finput >> x >> y >> z; Now my original file has an empty line at the end, and the x,y,z values therefore have the previous entry. Whats the best way of ensuring catering for this situation?



LinkBack URL
About LinkBacks



I used to be an adventurer like you... then I took an arrow to the knee.