#include #include #include #include #include #include #include std::vector directoryFiles; const std::vector files = { "2d/rigidbody/rigidbody_1/main.cpp" }; int main() { struct dirent *entry = nullptr; DIR *dp = nullptr; dp = opendir("shared_cpp"); if (dp != nullptr) { while ((entry = readdir(dp))) { std::string sharedName = std::string("shared_cpp/") + entry->d_name; directoryFiles.push_back(sharedName); } } closedir(dp); for (auto file : files) { printf("Creating zip file for: %s\n", file.c_str()); std::string zipCommand = ""; std::ifstream cppFile; cppFile.open(file); if (!cppFile.is_open()) { printf("Unable to create zip file for: %s\n", file.c_str()); continue; } std::string line; std::ifstream outMainCpp("tmp.main.cpp"); std::string buffer; while (getline(cppFile, line)) { if (line.rfind("#include ", 0) == 0) { int sharedCppFind = line.find("shared_cpp"); if (sharedCppFind != std::string::npos) { line = line.substr(sharedCppFind + strlen("shared_cpp/")); } } buffer += line; buffer += "\n"; } outMainCpp << buffer; outMainCpp.close(); std::string zipCommand = "zip "; zipCommand += "tmp.main.cpp"; for (auto dirFile : directoryFiles) { } system(zipCommand.c_str()); } //system("zip archive.zip test_file.txt"); return 0; }