C语言system函数打开一个仿真软件后c程序不执行

C语言system函数打开一个仿真软件后c程序不执行,而用system("start\"\"f:\\sedatools\\work\\2\\diodeex02.in");... C语言system函数打开一个仿真软件后c程序不执行,而用system("start \"\"f:\\sedatools\\work\\2\\diodeex02.in");会出现一下界面

这是为什么,请教各位大神
展开
 我来答
逻辑错误2021
2013-12-04 · TA获得超过757个赞
知道小有建树答主
回答量:986
采纳率:0%
帮助的人:442万
展开全部
何必这么麻烦,直接用CreateProcess函数启动 diodeex02.in 不就可以了?
而且你用system启动的有可能会涉及到应用程序的运行目录和环境变量什么的.
编程的时候尽量少用控制台指令比较好.
追问
system("start \"\"f:\\sedatools\\work\\2\\diodeex02.in"); 
system("f:\\sedatools\\work\\2\\diodeex02.in");
以上两条语句都试了试有问题,你能帮我把CreateProcess的代码写写吗?感激不尽!!
追答
#include "StdAfx.h"
#include "windows.h"

int main()
{

    STARTUPINFO si = { sizeof(si) };   
    PROCESS_INFORMATION pi;   
  
    si.dwFlags = STARTF_USESHOWWINDOW;   
    si.wShowWindow = TRUE;                    //TRUE表示显示创建的进程的窗口  
    TCHAR cmdline[] =TEXT("c://program files//internet explorer//iexplore.exe http://community.csdn.net/");  


    CreateProcess (   
        NULL,  
        cmdline,                            //在Unicode版本中此参数不能为常量字符串,因为此参数会被修改    
        NULL,   
        NULL,   
        FALSE,   
        CREATE_NEW_CONSOLE,   
        NULL,   
        NULL,   
        &si,   
        &pi); 

    return 0;
}

上面是我在CSND上面找到CreateProcess的用法,这个是打开IE的,连参数都给弄进去了.

你的只用把参数替换一下就可以了,例子如下.

TCHAR cmdline[] =TEXT("f:\\sedatools\\work\\2\\diodeex02.in"); 

花花浪客
2013-12-04 · TA获得超过2069个赞
知道小有建树答主
回答量:792
采纳率:100%
帮助的人:702万
展开全部
你在cmd.exe里面手工输入start ""f:\sedatools\work\2\diodeex02.in可以执行吗?
看上去就由问题啊,为什么start 后面有2个" ?
追问
2是文件夹,
追答
我知道2是文件夹,我的意思是你的命令是:start ""f:\sedatools\work\2\diodeex02.in

在start后f:\前有两个双引号,我感觉正确的应该是
start "f:\sedatools\work\2\diodeex02.in"
所以想请你在检查下命令是否正确,你可以在cmd.exe里面手工输入这个命令看看是否执行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式