Есть такой код, он должен дописать в конец файла строку, вывести весь файл, и под конец дописать еще одну строку в файл.
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
int
main(int argc, char *argv[])
{
fstream file;
string str;
file.open("file", fstream::in | fstream::out);
if (!file.is_open())
file.open("file", fstream::in | fstream::out | fstream::trunc);
if (file.is_open())
{
file.seekp(0, ios::end);
file << "hello\n";
file.seekg(0, ios::beg);
while (file >> str)
{
cout << str << endl;
}
file.seekp(0, ios::end);
file << "end\n";
file.flush();
file.close();
}
return 0;
}
Строка `end` не запишется. Почему, не как не пойму.