C++中使用CreateProcess创建的子进程 无法输出文件

琼琼白兔12 2014-04-28 10:47:18
我用VC++通过CreateProcess函数调用7za.exe压缩文件,我独立运行该子进程的时候,能得到压缩文件, 但是当在父进程中运行该子进程时,子进程什么也不会输出。为什么啊?如何解决?
...全文
271 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ysnis 2014-04-28
  • 打赏
  • 举报
回复
可能和当前目录有关 父进程和子进程目录不同
xiaohuh421 2014-04-28
  • 打赏
  • 举报
回复
多半是路径问题> 1. 7za.exe本身路径 2. 被压缩的文件的路径 建议全部使用绝对路径, 相对路径很容易出这类的问题.
赵4老师 2014-04-28
  • 打赏
  • 举报
回复
//确保文件夹E:\20130812\和E:\20130812\010\存在的前提下: CreateChildProcess("cmd.exe /c E:\\20130812\\7za.exe a -tzip -r E:\\20130812\\archive.zip E:\\20130812\\010\\");
琼琼白兔12 2014-04-28
  • 打赏
  • 举报
回复
引用 1 楼 xiaohuh421 的回复:
多半是路径问题> 1. 7za.exe本身路径 2. 被压缩的文件的路径 建议全部使用绝对路径, 相对路径很容易出这类的问题.
我是这样写的:CreateChildProcess("E:\\20130812\\7za.exe a E:\\20130812\\archive.zip E:\\20130812\\010"); 路径应该没问题吧?

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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