I wish to read the last line of a .csv file without having to read the entire file (they're quite long). The only way I could think to do it is like this:
Code:
int main(int argc, char *argv[])
{
ifstream fin("test.csv");
streamoff offset = -2;
char ch;
do
{
--offset;
fin.seekg(offset, ios_base::end);
fin.read(&ch, 1);
} while (ch != '\n');
char szLastLine[128];
fin.getline(szLastLine, 128);
fin.close();
cout << szLastLine << endl;
return 0;
}
That seems to work fine but I have read that you're not supposed to use seekg with text files so I don't know if this code is good or not.
Is this code okay and if not is there a better solution?
Thanks for any help you can offer.