Использование метки времени для определения имени файла журнала .txt

#c #strin& #directory #output #lo&file

#c #строка #каталог #вывод #файл журнала

Вопрос:

Я работаю в системе, где я хочу объединить журнал в виде файла .txt. Этот файл должен создаваться при каждом запуске программы и в будущем будет записываться в него, когда я создам все свои коды ошибок.

Чтобы сохранить уникальность этих файлов журнала, я хотел использовать метку времени. Для получения этих меток я использовал следующий код:

  strin& GetDateStamp() {
    time_t     now = time(0);
    struct tm  tstruct;
    char       stamp[80];
    tstruct = *localtime(amp;now);
    strftime(stamp, sizeof(stamp), "%Y-%m-%d-%X", amp;tstruct);

    return stamp;
}

  

Затем эта функция вызывается в другой функции, где я проверяю, создан ли каталог для журнала, если это не так, то она создает его.

 void OpenNewLo&File(strin& filepath)
{
    strin& datestamp;
    strin& lo&path = filepath   "Lo&\";
    if (_mkdir(lo&path.c_str()) == 0)
    {
        cout << "dir created" << endl;
    }
    else if(_mkdir(lo&path.c_str()) == EEXIST)
    {
        cout << "dir already exists" << endl;
    }
    else if (_mkdir(lo&path.c_str()) == ENOENT)
    { 
    
        cout << "path could not be found" << endl;
    
    }

    ofstream outfile;
    datestamp = GetDateStamp();
    strin& createFile=""; 
    createFile = lo&path   datestamp   ".txt";
    cout << createFile << endl;
    outfile.open(createFile);
}
  

Код присутствует в заголовочном файле и вызывается из моего основного cpp.
Вывод, который я получаю сейчас, — это следующий путь:

C:…Lo&2020-08-10-15:59:22.txt

но в моем каталоге журнала не отображается файл .txt.

Возможно, решение прямо передо мной, но, к сожалению, я его не вижу.

Надеюсь, кто-нибудь из вас сможет мне помочь 🙂

Комментарии:

1. Если вы используете Windows, то двоеточие : в именах файлов недопустимо

2. черт. Решением для этого могло бы быть удаление метки времени и, я полагаю, просто оставить дату.

3. Другим решением было бы заменить двоеточия другим символом

4. Конечно 🙂 Спасибо, ребята!