Python의 subprocess 는 외부 파일을 실행할 때 참 편리한 기능을 제공하는 클래스인데..
C++ 용으로 subprocess 와 비슷한 기능을 구현한 클래스가 있어서 테스트해보니.. 참 괜찮음..
https://github.com/benman64/subprocess
#include <subprocess.hpp>
....
int RunProgram2(std::string programPath, std::vector<std::string> args, std::string &output)
{
std::vector<std::string> tokens;
tokens.push_back(programPath);
for(std::string &s: args) {
tokens.push_back(s);
}
// 콘솔 화면을 감춤
#ifdef __MINGW32__
AllocConsole();
ShowWindow(GetConsoleWindow(), SW_HIDE);
#endif
auto completed = subprocess::RunBuilder(tokens)
.cout(subprocess::PipeOption::pipe)
.cerr(subprocess::PipeOption::pipe)
.env(subprocess::current_env_copy())
.run();
#if 0
std::string joined = boost::algorithm::join(completed.args, " ");
qDebug() << "args:" << joined.c_str();
#endif
int exit_code = completed.returncode;
if(!completed.cout.empty()) {
output = completed.cout;
} else if(!completed.cerr.empty()) {
output = completed.cerr;
}
return exit_code;
}
'블로그 (Blog) > 개발로그 (Devlogs)' 카테고리의 다른 글
BdfCpp (0) | 2024.06.21 |
---|---|
tcping (0) | 2024.06.21 |
CGAL의 boolean operation (0) | 2024.06.18 |
개발 진행중인 화면.. (0) | 2024.06.11 |
Qt용 스프레드쉬트 예제 코드 (0) | 2024.05.23 |