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) - то все заработает.

В чем тут проблема?


Ответы (0 шт):