相关疑难解决方法(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++中,从标准输入读取字符而不等待换行符的最佳方法是什么(按回车键).

理想情况下,它也不会将输入字符回显到屏幕上.我只想捕捉击键而不影响控制台屏幕.

c c++ inputstream

163
推荐指数
11
解决办法
19万
查看次数

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

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

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

c linux system

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

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

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

c c++ stdout system

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

Linux 3.0:使用管道stdin/stdout执行子进程

在Linux 3.0/C++下:

我想要一个执行以下操作的函数:

string f(string s)
{
    string r = system("foo < s");
    return r;
}
Run Code Online (Sandbox Code Playgroud)

显然上面的方法不起作用,但你明白了.我有一个字符串s,我想传递作为应用程序"foo"的子进程执行的标准输入,然后我想将其标准输出记录到字符串r然后返回它.

我应该使用linux系统调用或posix函数的组合?

c c++ linux posix glibc

14
推荐指数
1
解决办法
3万
查看次数

用C读取linux内核版本?

我正在使用Ubuntu,我想阅读其内核的版本.我在/ proc /中找到了一个名为version的文件,它记录了当前内核的版本.

如果我不想读取文件,还有其他方法,比如C中的内置函数,我可以读取C中的版本吗?

谢谢

c linux-kernel

8
推荐指数
3
解决办法
1万
查看次数

在C程序中获取系统命令输出

有没有更好的方法呢?

int numOfCPU;
system("grep -c ^processor /proc/cpuinfo >> /tmp/cpuinfo");
FILE *fp = fopen("/tmp/cpuinfo", "r");
fscanf(fp, "%d", &numOfCPU);
fclose(fp);
system("rm /tmp/cpuinfo");
Run Code Online (Sandbox Code Playgroud)

我不想创建中间文件然后将其删除.

编辑:

它不是从文件中读取.命令可以是"ls"或"echo'Hello world'"

c unix io operating-system

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

如何在C/C++中捕获system()的结果

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

嗨,

请问有人请告诉我们在执行system()函数时如何捕获结果?

实际上我写了一个显示机器IP地址的c ++程序,名为"ipdisp",我希望当服务器程序执行这个ipdisp程序时,服务器会占用显示IP地址.那么,这可能吗?如果有,怎么样?

谢谢你的回复

c c++ sockets

6
推荐指数
1
解决办法
2341
查看次数

如何将系统命令输出存储在变量中?

我正在执行一个system()函数,它返回一个文件名.现在我不想在屏幕上显示输出(即文件名)或管道到新文件.我只想将它存储在一个变量中.那可能吗?如果是这样,怎么样?谢谢

c c++ unix system

5
推荐指数
3
解决办法
2万
查看次数

如何从C中读取stdout

我需要编写一个C程序来检查其他程序的输出.它应该基本上像这样工作:

./otherprogram|./myprogram

但我找不到如何从stdout(或管道)逐行读取.然后将所有这些写入stdout.

c stdout pipe

4
推荐指数
2
解决办法
7078
查看次数