高管,execve的或系统调用:演示
#include
#include
int main(int argc, const char* args[])
{
exitcode = system("xsltprox textonly.xslt input.xml > output");
// exitcode = exec("xsltproc", "textonly.xslt", "input.xml");
int exitcode;
}
前往fopen输出(或std :: fstream的读者( “输出”)如果你喜欢)。请注意,系统很快就是一个安全漏洞,所以您不应该在关键应用程序(如守护进程)中使用它。 使用exec可以重定向。所以你也许可以从你的程序中打开一个pipe(),fork(),在孩子中将stdout filedescriptor分配给pipe()(参见dup2调用)和exec。
父进程然后可以从管道读取输出而不需要临时文件。 所有这些都应该放在一个zillion教程中,我现在不需要时间去google了。
我可以建议使用perl或shell脚本。如果您发布一个实际的例子,我可以告诉你在这两个外壳和C/C++
更新这里是如何用XSLT
textonly.xslt做代码:
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
:
输出演示:
[email protected] ~/stacko
$ xsltproc.exe textonly.xslt input.xml
:
hi this is first li :
dsfn sdlkf sfd :