fout.seekp() - компилируется в VS Code, но не выдает результат
Есть небольшая программа. Учебный пример.
#include <fstream>
#include <iostream>
#include <string>
using namespace std;
int main() {
// 1
{
fstream fout("telefon.txt", ios::out);
fout << "У меня зазвонил телефон."s << endl;
fout << "- Кто говорит?"s << endl;
}
// 2
{
fstream fout("telefon.txt", ios::in | ios::out);
fout.seekp(72);
fout << "- Слон."s << endl;
cout << "Writing at pos: "s << fout.tellp() << endl;
}
// 3
{
fstream fin("telefon.txt", ios::in);
string str;
while (getline(fin, str)) {
cout << str << endl;
}
}
}
При компиляции в, скажем, CodeBlocks, все работает корректно. А вот в VS Code компиляция проходит успешно, но файл не создается, и никаких выводов на экран нет (даже если их добавить).
Если для fout.seekp(72)
указать второй параметр, например, fout.seekp(72, ios::end)
- то все заработает.
В чем тут проблема?