相关疑难解决方法(0)

如何使用POSIX执行命令并在C++中获取命令输出?

我正在寻找一种方法来获取从C++程序中运行命令的输出.我已经看过使用system()函数,但这只会执行一个命令.这是我正在寻找的一个例子:

std::string result = system("./some_command");
Run Code Online (Sandbox Code Playgroud)

我需要运行一个任意命令并获取其输出.我看过Boost.org,但我找不到任何可以满足我需要的东西.

c++ posix system process return-value

427
推荐指数
8
解决办法
42万
查看次数

C:运行系统命令并获取输出?

可能重复:
如何从C运行外部程序并解析其输出?

我想在linux中运行一个命令,并返回它输出的文本,但我希望这个文本打印到屏幕上.有没有比制作临时文件更优雅的方式?

c linux system

129
推荐指数
2
解决办法
23万
查看次数

如何从C运行外部程序并解析其输出?

我有一个实用程序可以输出游戏所需的文件列表.如何在C程序中运行该实用程序并获取其输出,以便我可以在同一程序中对其执行操作?

更新:很好地呼吁缺乏信息.该实用程序吐出一系列字符串,这应该是完全可移植的Mac/Windows/Linux.请注意,我正在寻找一种程序化的方法来执行该实用程序并保留其输出(转到stdout).

c external-process

59
推荐指数
4
解决办法
6万
查看次数

最佳地从system()命令捕获stdout

我正试图通过system()- 例如,启动外部应用程序system("ls").我希望捕获它的输出,因此我可以将它发送到另一个函数进行进一步处理.在C/C++中最好的方法是什么?

c c++ stdout system

52
推荐指数
4
解决办法
8万
查看次数

使用 C++ 读取进程本身的标准输出

考虑到我们有some_function ,它打印结果stdout而不是返回它。改变它的定义超出了我们的范围,没有其他选择。我们可以选择从stdout. 所以问题。

如何读取 C++ 程序本身的标准输出。

pid如果我们可以获得fd相同的程序,则可以搜索我,但我找不到任何东西。

#include <unistd.h>
#include <sys/types.h>
#include <iostream>
void some_function(){
    std::cout<<"Hello World";
}

int main(){


    int pid = ::getpid();
    string s = //What to write here.

    cout<<"Printing";

    some_function(); //This function prints "Hello World" to screen

    cout<<s; //"PrintingHello World"
    return  0;
}
Run Code Online (Sandbox Code Playgroud)

如何将管道附加到同一个进程,而不是创建子进程。

有些人可能会想到创建子进程并调用some_function它,以便能够stdout在父进程中读取它,但是不,some_function取决于调用它的进程,因此我们希望将其称为进程而不是创建子进程。

c++ unix pid stdout process

2
推荐指数
1
解决办法
2219
查看次数

标签 统计

c ×3

c++ ×3

system ×3

process ×2

stdout ×2

external-process ×1

linux ×1

pid ×1

posix ×1

return-value ×1

unix ×1