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

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

这是为什么,请教各位大神

何必这么麻烦,直接用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"); 

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-12-04
你在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里面手工输入这个命令看看是否执行

C语言,怎么用system()函数打开一个可执行文件,例如C:\\a.exe
C语言使用system()函数打开一个可执行文件:system在调用的时候需要加上#include<stdlib.h>的头文件 include<stdlib.h> voidmain(){ system("c:\\\\windows\\\\system32\\\\cmd.exe");}

C++ 我在结尾用了system("pause"); 可是程序没有停止
system("pause"); 原本是C语言的系统函数,但是很多C++编译器都为了兼容以前C语言的程序,对C语言兼容,但是不是所有C++编译器都对C支持得很好。所以可能出现语句语法没有问题,但是不起作用的情况。

C语言 如何调用另一个程序的计算结果?急!!!
system()只是做一个调用其他程序的工作,只要调用成功就返回0,不成功就返回-1。它不能得到被调用的程序的执行结果。要得到其他程序的执行的结果,要用spawn***()这个家族的函数。如果在linux下面 如果你想得到那个返回值可以调用WEXITSTATUS(status),其中status是system函数的返回值。如果你非常想获取...

C语言中system函数问题
windows上 system("command") 改成 system("start command")linux上 system("command") 改成 system("command &")这样可以让command并发运行,不阻塞原有程序执行 如果需要关闭,可以查进程名字来关闭

C语言 system()函数打开一个程序,路径有空格的问题
可以把包含空间的路径部分用双引号引起来 例如我在c盘的program files文件夹中建了一个a.txt文件 可以使用这种形式打开 system("c:\\\\\\"program files\\"\\\\a.txt");注意每个双引号前要有转义字符\\前缀

C语言中使用编译器时system函数使用问题
加一个#include<stdlib.h>试一试

C语言的system函数
system(系统)函数 windows操作系统下system () 函数详解(主要是在C语言中的应用)功 能: 发出一个DOS命令 用 法: int system(char *command);system函数已经被收录在标准c库中,可以直接调用 程序例:include <stdlib.h> include <stdio.h> int main(void){ printf("About to spawn and run ...

关于C语言中使用system()函数的问题 & 命令行实行exe和双击执行exe的问 ...
你学了MFC就会明白, 双击exe文件, 实际上是系统用cmd.exe去运行你双击的exe, 运行完后, cmd.exe会自动退出, 但是你自己手动打开了cmd.exe, 它不会自动关闭, 必须你手动来关闭.

C语言使用system()函数打开应用程序,遇到的路径问题,求助
你代码中的路径才需要转义,在文本文件中是不需要,直接在文本文件中写 "C:\\Program Files...exe"就行了

为什么程序中出现system(pause)就不运行了。
在一个程序中写有 system("pause")语句时,就是说从该程序里调用了“pause”命令,即让操作系统来暂停该程序进程的执行,同时程序运行到此语句处时,会在程序的窗口上显示“Press any key to continue . . .” 也就是 “按任意键继续...”,即等待用户按下任意一个按键使该程序从暂停状态返回...

相似回答
大家正在搜