Создание и копирование текста в несколько файлов .cpp в Stack Overflow

Поэтому я занимаюсь проектами Эйлера и храню все свои решения в одной программе. Я только начал на C ++, поэтому я не знаю, является ли это хорошим способом сделать это. В любом случае, каждый файл .cpp содержит одну проблему. Так что в основном моя структура выглядит так:

«Executer.cpp»

include <iostream>
include "other.h"int main() {

Problem1();
Problem2();
// etc.
system("pause")
return 0;
}

«Other.h»

void Problem1();
void Problem2();
// etc.

«Problem_X.cpp» (X обозначает номер задачи). У меня много этих файлов.

/* PROBLEM X

*/

#include <iostream>
#include <fstream>
#include <time.h>

void ProblemX() {
time_t t1, t2;
t1 = clock();

// Code goes here

t2 = clock();
float diff((float)t2 - (float)t1);
float seconds = diff / CLOCKS_PER_SEC;

// Results
std::ofstream myFile("result.txt");
//myFile << sum;
myFile.close();

std::cout << "--------------------  Problem X -------------------" << std::endl;std::cout << "I ran for: " << seconds << " seconds" << std::endl << std::endl;
}

Теперь проекты состоят из почти 600 задач, что означает, что мне нужно создать 600 файлов и скопировать шаблон в каждый из этих документов. Поэтому я подумал, что смогу просто сделать программу для этого.

По сути, я поместил «Problem_X.cpp» в текстовый файл с именем «standard.txt». Затем я написал следующую программу, которую я запускаю из своего главного int, включив объявление функции в «other.h» и вызвав функцию из «Executer.cpp». Он отлично работает при копировании текста из одного текстового файла в другой текстовый файл. Но сейчас (я полагаю, поскольку я пытаюсь скопировать в файл .cpp) ничего не происходит:

#include <fstream>
#include <iostream>
#include <sstream>

void CreateNewFile(int number)   // denotes the number of the problem you wish to create
{
std::string strNumber = static_cast<std::ostringstream*>(&(std::ostringstream() << Number))->str();
std::string str1 = "Problem_";
std::string str2 = ".cpp";
std::string strr;
strr.append(str1); strr.append(strNumber); strr.append(str2);

std::ofstream out(strr); //this creates it.
std::ifstream in("standard.txt");
if (!out.is_open())
{
std::cout << "ERROR: Can not open document2.txt" << std::endl;
return;
}
std::string str;
while (std::getline(in, str)) {
out << str << std::endl;
}

in.close();
out.close();
}

У кого-нибудь есть опыт, что-то подобное делать? Я не могу найти никаких сообщений в Google, и у меня нет идей о том, где искать.

0

Решение

Программа на самом деле работает так, как задумано. Он создает новые файлы «Problem_X.cpp» в самый раз. Они просто не импортируются в исходную папку VS. Если у кого-то есть быстрое решение для этого, они могут оставить это в комментарии здесь.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector