关于c++调用cmd的问题。

Black_Heart 2017-10-12 02:48:21
system("cd d:\\work\\facedata\\facepic"); //进到路径下
for(int i = 1; i < cnum; i++){
//cmd命令每个文件下都生成一个at.txt的文档,用于下一步添加标签的操作
//bug:下标为0的textArr[0]没有值传送进来!!!但是可以从textArr[1]开始
qDebug()<<textArr[i]<<endl;
QString txtFile = textArr[i];
QString source = "D:\\work\\facedata\\facepic\\";
QString txtName = "\\at.txt";
QString txtPath = QString("%1%2%3").arg(source).arg(txtFile).arg(txtName);
QString command1 = "dir /b/s *.pgm *.jpg >"; ////????
QString command = QString("%1%2").arg(command1).arg(txtPath);
std::string str = command.toStdString();
const char* ch = str.c_str();
system(ch);
}

我这段代码的作用是想在每个textArr文件下建立一个at.txt的文本,文本中包括facepic下所有图片的路径。但是我执行过后,对应的at.txt文本生成了,但是其中却没有路径的信息。这是为什么呢?期待博主大神的回复。。。谢谢
...全文
256 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
9990002222 2017-10-14
  • 打赏
  • 举报
回复
这个命令需要执行才能获取,qprogress执行dir后读取才能获取筛选出来的路径
赵4老师 2017-10-12
  • 打赏
  • 举报
回复
将你想执行的所有命令写到一个临时批处理文件比如d:\\tmp.bat文件中,然后 WinExec("cmd /c d:\\tmp.bat",SW_HIDE);

64,663

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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