春鸽带你飞 2015-06-29 03:41 采纳率: 100%
浏览 4455
已采纳

C语言system函数打开文件的几种方式的不同

用c语言的system函数打开一个文件,system("cmd /c start out.txt")和system("out.txt")都可以,请问这两个有什么区别

  • 写回答

3条回答

  • 赵4老师 2015-06-29 05:25
    关注

    C:>start /?
    启动另一个窗口运行指定的程序或命令。

    START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
    [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
    [/AFFINITY ] [/WAIT] [/B] [command/program]
    [parameters]

    "title"     在窗口标题栏中显示的标题。
    path        启动目录
    B           不创建新窗口启动应用程序。除非启用
                ^C 处理,否则该应用程序会忽略 ^C
                处理;^Break 是唯一可以中断该应用
                程序的方式
    I           新环境是传递给 cmd.exe 的原始环境,
                而不是当前环境。
    MIN         启动窗口最小化
    MAX         启动窗口最大化
    SEPARATE    在分离内存空间启动 16-位 Windows 程序
    SHARED      在共享内存空间启动 16-位 Windows 程序
    LOW         在 IDLE 优先级类中启动应用程序
    NORMAL      在 NORMAL 优先级类中启动应用程序
    HIGH        在 HIGH 优先级类中启动应用程序
    REALTIME    在 REALTIME 优先级类中启动应用程序
    ABOVENORMAL 在 ABOVENORMAL 优先级类中启动应用程序
    BELOWNORMAL 在 BELOWNORMAL 优先级类中启动应用程序
    AFFINITY    新应用程序将拥有指定处理器关系掩码,
                以十六进制数表示。
    WAIT        启动应用程序并等待它结束
    command/program
                如果是内部 cmd 命令或批文件,那么
                该命令处理器是用 /K 命令行开关运行
                cmd.exe 的。这表示该窗口在命令运行后
                仍然存在。
    
                如果不是内部 cmd 命令或批文件,则是
                一个程序,并作为窗口应用程序或控制台
                应用程序运行。
    
    parameters  这些是传送到命令/程序的参数
    

    如果命令扩展被启用,通过命令行或 START 命令的外部命令
    调用会如下改变:

    将文件名作为命令键入,非可执行文件可以通过文件关联调用。
    (例如,WORD.DOC 会调用跟 .DOC 文件扩展名关联的应用程序)。
    关于如何从命令脚本内部创建这些关联,请参阅 ASSOC 和
    FTYPE 命令。

    执行的应用程序是 32-位 GUI 应用程序时,CMD.EXE 不等应用
    程序终止就返回命令提示符。如果在命令脚本内执行,该新行为
    则不会发生。

    如果执行的命令行的第一个符号是不带扩展名或路径修饰符的
    字符串 "CMD","CMD" 会被 COMSPEC 变量的数值所替换。这
    防止从当前目录提取 CMD.EXE。

    如果执行的命令行的第一个符号没有扩展名,CMD.EXE 会使用
    PATHEXT 环境变量的数值来决定要以什么顺序寻找哪些扩展
    名。PATHEXT 变量的默认值是:

        .COM;.EXE;.BAT;.CMD
    
    请注意,该语法跟 PATH 变量的一样,分号隔开不同的元素。
    

    查找可执行文件时,如果没有相配的扩展名,看一看该名称是否
    与目录名相配。如果确实如此,START 会在那个路径上调用
    Explorer。如果从命令行执行,则等同于对那个路径作 CD /D。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 扩散模型sd.webui使用时报错“Nonetype”
  • ¥15 stm32流水灯+呼吸灯+外部中断按键
  • ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符
  • ¥15 NX MCD仿真与博途通讯不了啥情况
  • ¥15 win11家庭中文版安装docker遇到Hyper-V启用失败解决办法整理
  • ¥15 gradio的web端页面格式不对的问题
  • ¥15 求大家看看Nonce如何配置
  • ¥15 Matlab怎么求解含参的二重积分?
  • ¥15 苹果手机突然连不上wifi了?
  • ¥15 cgictest.cgi文件无法访问