【提问】 QT 中如何通过QProcess调用shell并获得返回值

cccczl 2011-09-22 02:47:59
例如 需要把 ls 返回的字符串 赋予 一个变量 qstring a
...全文
1610 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
cccczl 2011-12-08
  • 打赏
  • 举报
回复
我们是急需,改进程序,要来就请吃饭,哪有这么害怕的,真是的,搞定了,结贴去
cccczl 2011-09-23
  • 打赏
  • 举报
回复
哥哥有电话么,你在哪 ,我请你吃饭。 我完全没明白。
founderfang 2011-09-23
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 cccczl 的回复:]
哥哥有电话么,你在哪 ,我请你吃饭。 我完全没明白。
[/Quote]
发个帖子就问人要电话,还要请吃饭,不是要把人骗去割肾吧。
情歌而已 2011-09-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 cccczl 的回复:]
那应该是标准输出吗? 能举个例子吗:? 谢谢
[/Quote]

QString qstrExeDir = "xxx可执行文件";
QStringList qstrlstParams;
qstrlstParams << "参数" << "值"... ; //参数设置

process.start(qstrExeDir, qstrlstParams); //调用外部函数
process.waitForFinished(30000); //等待执行完毕,保证写读的先后顺序,毫秒数要设置足够

QByteArray qbaOutput = process.readAllStandardOutput();
QString qstrYouWant = qbaOutput;
cccczl 2011-09-22
  • 打赏
  • 举报
回复
那应该是标准输出吗? 能举个例子吗:? 谢谢
dbzhang800 2011-09-22
  • 打赏
  • 举报
回复
概念要清,你这个不叫返回值!

对于一个控制台程序,会有,标准输入、标准输出、标准出错 3个IO流

根据你要求不同,你可能需要后两个之一或全部。

而具体到QProcess,很简单
QByteArray QProcess::readAllStandardOutput ()
QByteArray QProcess::readAllStandardError ()

16,213

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧