分页: 1 / 1

问个c++的问题

发表于 : 2005-07-16 1:07
lof
怎么调用外部的程序呢?用c++实现,
比如一些程序的前端,应该都是靠直接调用原来的控制台程序实现的吧?
这种方式如何用c++ 实现呢?
比如c中的execl,c++中有没有类似的?在哪个库里?

发表于 : 2006-01-21 12:52
pearma
调用外部程序,有几种做法.
一.直接通过系统调用.就是另外起一个进程,然后在这个进程里执行外部程序.
这样的做法最简单,一般用system函数来实现.
二.间接的调用外部程序,因为通常还需要对外部程序进行一些控制.
在windows平台下,比如说要调用excel,通常是采用COM+的方式来实现的.
比如说有个excel文件,需要通过C++程序去访问.那么可以在程序里创建excel的com对象,然后通过这个对象来读取excel文件.
在linux下,恐怕就要通过专门的库来处理了.

发表于 : 2007-07-28 10:48
magiciany

代码: 全选

#include <unistd.h>
int main()
{
system("gedit");
return 0;
}
这个调用system错在哪?
gcc时候说
xmms2.cpp:4: 错误: ‘system’ 在此作用域中尚未声明

发表于 : 2007-07-29 0:53
sunmoonstar
加上
#include <stdlib.h>
试一下
magiciany 写了:

代码: 全选

#include <unistd.h>
int main()
{
system("gedit");
return 0;
}
这个调用system错在哪?
gcc时候说
xmms2.cpp:4: 错误: ‘system’ 在此作用域中尚未声明

发表于 : 2007-07-29 12:41
nobrain
magiciany 写了:

代码: 全选

#include <unistd.h>
int main()
{
system("gedit");
return 0;
}
这个调用system错在哪?
gcc时候说
xmms2.cpp:4: 错误: ‘system’ 在此作用域中尚未声明
看man手册
man 3 system