相关疑难解决方法(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万
查看次数

如何从QProcess获取STDOUT?

我以为我将使用以下代码从QProcess获取输出:

// Start the process
process.start(tr("php-cgi www/test.php"),QIODevice::ReadWrite);

// Wait for it to start
if(!process.waitForStarted())
    return 0;

// Continue reading the data until EOF reached
QByteArray data;

while(process.waitForReadyRead())
    data.append(process.readAll());

// Output the data
qDebug(data.data());
qDebug("Done!");
Run Code Online (Sandbox Code Playgroud)

我期待的是看到程序的输出打印到调试控制台,但我看到的只有:

完成!

我知道:

  • 程序启动正常,因为打印结束时的消息.
  • 该程序确实打印输出,因为在终端中运行完全相同的命令会产生一个长串的文本.

我在这做错了什么?

qt stdout process qprocess

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

Microsoft Windows的7 POSIX实现目前在哪里?

Windows 7中是否有可用的完整POSIX实现(我在考虑Windows Services for UNIX)?

它是否适用于每个版本的操作系统(似乎没有)?

它如何在以前的MS Windows POSIX实现中添加/改进或中断?

在哪里可以找到有关Windows 7中有关POSIX合规性的特定Microsoft方法和实现的更多信息?

windows posix windows-7 posix-api

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

标签 统计

posix ×2

process ×2

c++ ×1

posix-api ×1

qprocess ×1

qt ×1

return-value ×1

stdout ×1

system ×1

windows ×1

windows-7 ×1