@SaddledSharp
Кодер. Увлекаюсь информационной безопасностью.

Как создать файл и записать туда код программы?

Всем привет! Недавно столкнулся с такой проблемой, мне нужно на C++ создать файл с расширением .py, но проблема в том, что мне нужно записать туда КОД программы. Допустим:
1. Я создаю файл .py
2. Записываю туда код программы
3. Запускаю этот файл с кодом.
Как такое реализовать? Не записывать же мне в одну переменную весь код, это было бы глупо.
  • Вопрос задан
  • 523 просмотра
Пригласить эксперта
Ответы на вопрос 2
tsarevfs
@tsarevfs Куратор тега C++
C++ developer
Обычно, если вам такое нужно, код оторый вы записываете, неизвестен заранее. Иначе проще было бы таскать его в виде готового файла сразу. Но почти всегда общая структура определена и нужно вставить какие-то части.
Создайте шаблон в виде отдельного файла или, если он небольшой, то можно и в виде строки в коде. Дальше замените нужные части в шаблоне на тот код, который вы сгенерировали.

#include <regex>
#include <string>
#include <iostream>

std::string generate_code()
{
    return "   print('generated')";
    //place your gen code here
}

int main()
{
    const std::string code_template = 
    "def generated():\n"
    "$1\n" 
    "\n"
    "print('hello')\n"
    "generated()\n"
    "print('world')\n";
    const std::regex placeholder("\\$1");
    const std::string code = std::regex_replace(code_template,
        placeholder, generate_code());
    std::cout << code << std::endl;
    return 0;
}
Ответ написан
Комментировать
GavriKos
@GavriKos
Код программы - это просто текст. В чем конкретно проблема - непонятно.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы