大家好我有一个奇怪的问题我用c ++编写代码成功编译并成功运行它。我使用以下命令编译 g ++ 1.c -o abc 运行程序我使用./abc 现在我的问题是我用c ++编写了另一个代码,如
#include <fstream>
#include<iostream>
using namespace std;
int main()
{
ofstream SaveFile("/home/hadoop/project/hadoop-0.20.0/conf/core-site2.xml");
SaveFile <<"<configuration>";
SaveFile<<endl;
SaveFile<<"<property>";
SaveFile<<endl;
savefile.close();
return 0;
}
现在我想在这段代码中运行abc怎么做? 如何在此文件中使用或运行abc? 如何在这个程序中使用./abc?
答案 0 :(得分:2)
实际上,你的问题标题(“......使用系统...”)说明了一切。使用:
system ("./abc");
运行./abc
程序。
有其他方法可以在程序中运行程序(通常依赖于特定于平台的功能),但这是最便携的。
完整的示例程序testprog.cpp
,以显示我的意思:
#include <cstdlib>
int main (void) {
std::system ("ls -ald m*");
return 0;
}
用以下内容编译:
g++ -Wall -Wextra -pedantic -o testprog testprog.cpp
并运行生成的可执行文件testprog
,此输出(在我的Ubuntu 10.04框中):
drwxr-xr-x 2 pax pax 4096 2010-12-14 09:33 myfolder
换句话说,它从程序本身运行ls -ald m*
命令。