@Xasthul

Как при открытии файла имя файла указывать переменной?

#include <iostream>
#include <fstream>

using namespace std;

int main()
{
     string filename = "example";
     ofstream file;
     file.open(filename + ".txt");   // Здесь какая-то ошибка..
     file << "It's working!";
     file.close();
     return 0;
}<\code>
Помогите пожалуйста
  • Вопрос задан
  • 3100 просмотров
Решения вопроса 1
@hauptling
fstream читает массив char-ов, вы пытаетесь ему подсунуть string, нужно вашу строку filename, взять и использовать метод
filename.c_str();
тоже самое относится к расширению данных

и будет вам счастье!
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Замечу, что в современном C++, c_str не нужно:

auto fullPath = filename + format;
std::ofstream file(fullPath);

Если у вас требуется c_str, то вы используете C++98, добавьте флаг -std=c++14.
Ответ написан
Комментировать
@Martin513
Xasthul
Здравствуйте.
Понимаю, два года уже прошло, но как в итоге стал выглядеть ваш код?
У меня сейчас на работе задача, нужно последовательно открывать все .txt в директории и искать максимальное число в файле с последующей записью в файл "результатов" (файлов много и у них разные названия).
Поскольку языков программирования я не знаю получилось пока только находить и записывать максимальное число из конкретного файла.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы