ofstream не создает файл несколько раз

Запускаю программу, которая открывает и закрывает ofstream, файл создается, однако если я его мануально удаляю и запускаю программу снова - файл с тем же названием больше не создаётся, даже после рекомпиляции.

#include <iostream>
#include <fstream>
#include <string>

int main()

{

    unsigned userID = 0;
    std::string filename = "user_" + std::to_string(userID) + ".txt";
    std::ofstream userdata (filename);

    if(userdata.is_open())

    {

        userdata << "Text";
        userdata.close();

    }

    return 0;

}

Компилятор - g++ 7.5.0 IDE не пользуюсь, текстовый редактор - nano.


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

Автор решения: Artsiom Siarheyeu

Проблема заключалась в wsl(Windows Subsystem for Linux), которую я использовал для компиляции и запуска кода. Если код запускать и удалять файл в рамках одной оболочки, то проблемы не возникает. Я же запускал код в wsl под ubuntu, а удалял созданный файл средствами Windows, из-за чего в файловой системе linux он оставался, хоть и не был виден(созданные файлы открывались, и могли быть удалены, но не отображались в команде ls и проводнике Windows, после удаления "призрачных" файлов из файловой системы linux, новые одноименные файлы отображаются корректно)

→ Ссылка