中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-10-31 12:25
共 47,815 主题排行 / 349,930 发帖 / 今日 0 篇 / 48,290 会员排行
DOS开发编程 & 发展交流 (开发室) » 如何在c语言中调用dos系统命令时不显示命令行?
可打印版本  2,208 / 12
第1楼 utada 发表于 2003-08-05 00:00
初级用户 发帖 5 积分 121
如何在c语言中调用dos系统命令时不显示命令行?
在c语言中,用execl调用dos下另外一个应用程序时,会有命令行显示,怎么才能让那些信息不显示出来?
就象用sys函数调用copy命令时,屏幕会显示 *** file copied ,怎么才能不显示这句话
第2楼 Wengier 发表于 2003-08-06 00:00
系统支持 发帖 10,521 积分 27,736
后面加入“>nul”试试吧。。
第3楼 utada 发表于 2003-08-07 00:00
初级用户 发帖 5 积分 121
试过了。不行。谢谢你了
第4楼 yanyanming 发表于 2003-08-09 00:00
初级用户 发帖 1 积分 106
用echo
第5楼 lemonhall 发表于 2003-08-10 00:00
高级用户 发帖 183 积分 639
DOS 7.1下用ECHO, 那可以把system("copy xxx"时的COPY XXX去掉.
用system("copy xxx >nul"; 应该会把falied.....那句话去掉.
exec的调用没试过.

还有一种情况,就是你使用的是DJGPP编译的EXE文件. 它的重定向和普通
DOS程序不太一样,试试 用system("XXX XXX >>NUL"来重定向.不行了
再来问.实在不行你把你要调用的东西发过来,我试好了再发源码给你.
第6楼 lemonhall 发表于 2003-08-10 00:00
高级用户 发帖 183 积分 639
对了,忘问了.你用的DOS版本是?编译系统是?
第7楼 utada 发表于 2003-08-11 00:00
初级用户 发帖 5 积分 121
我用的ms-dos6.22。是不是一定要用dos7.1的?
我调用的是一个别人做的应用程序,是用于dos下ftp上传的。
第8楼 iceboy 发表于 2003-08-12 00:00
银牌会员 发帖 512 积分 1,681
“>” 和 “>>” 是管道符号,只能重定向程序输出,而类似“Bad command or file name” 之类的系统提示则无能为力。
第9楼 lemonhall 发表于 2003-08-17 00:00
高级用户 发帖 183 积分 639
在ECHO OFF的前提下,把管道加上去。一切将会寂静无比。呵呵。。。。
第10楼 LanE 发表于 2003-08-17 00:00
银牌会员 发帖 648 积分 1,835
以下是引用iceboy在2003-8-12 14:55:36的发言:
“>” 和 “>>” 是管道符号,只能重定向程序输出,而类似“Bad command or file name” 之类的系统提示则无能为力。

还有程序的错误信息也是不可以重定向的,例如:

C:\>copy a.txt d:\ >nul
File not found - a.txt

这个是我从DOS窗口里复制出来的
第11楼 lemonhall 发表于 2003-08-18 00:00
高级用户 发帖 183 积分 639
恩,没错。可是在,和EXEC()调用下。
真的是寂静无比啊。

我们又不是在讨论管道,是在讨论 “编程中的管道使用”

讨论是要针对楼主的问题的哦!!
第12楼 lemonhall 发表于 2003-08-18 00:00
高级用户 发帖 183 积分 639
哎,你DOS6。22和DOS7,那倒无所谓。。。。。。。。。

你把程序直接发给我,我在最流行的编译系统上都试一遍。不就好了??
我才你用的是TROUB C吧?或者是BC?

如果是使用BC,还可以重定向ERROR输出,用C++流来实现。方法多的很。
第13楼 LanE 发表于 2003-08-18 00:00
银牌会员 发帖 648 积分 1,835
以下是引用lemonhall在2003-8-18 11:34:57的发言:
恩,没错。可是在,和EXEC()调用下。
真的是寂静无比啊。

我们又不是在讨论管道,是在讨论 “编程中的管道使用”

讨论是要针对楼主的问题的哦!!

呵呵,不好意思啊:)我忘了是在编程区了
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023