分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:
该包含的头文件都包含了
为什么调用
system("d:\dir")或
system("dir d:")或
system("ping xxxxxxxxxxxx")或
system("copy d:\1txt e:\2txt")
输出都没有反应呢,程序运行也没有报错
应该有反映的吧
谢谢回复!!
解析:
编译程序不会检查你的输入参数字符串,所以就算你的参数(字符串)写错了,它也肯定不会报错。
你的这几个调用都是独立的,实际上 *** 作是执行了,只是你看不到。
唯一能看到效果的应该是最后一个吧,如果文件存在的话,应该可以拷贝成功的。
system函数是执行shell命令,在windows下就是将命令交给DOS或cmdexe去执行。如果要改变c:\windows\下文件名为myfiletxt文件为只读属性,可以执行:
system("attrib +r c:\windows\myfiletxt");
注:用VC++编写源程序时,system应该写为System
1、首先输入调用系统函数的头文件,以及其他常用的语句。
2、然后定义一个handle这样的话柄。
3、接下来就可以将输出的话柄通过GetStdHandle传递给他。
4、此时,需要再定义一个COORD的pos光标变量。
5、接下来就要将这个输出的话柄以及光标位置赋值给他。
6、并加上输出语句后,这时就会发现,成功在中部输出来了,这样就完成了。
如果用system那就绕一下,先输出到文件,然后读文件获取结果
比如,你原本要执行dir
那么实际执行dir>ttxt
结果就存到这个ttxt中了
再打开文件读文件,处理数据即可
也可以改成popen
这个更简单,具体用法,自行百度
相当于运行命令行
在cmd下
执行
cd F:\\f77_gcc\\CM_f77_gccemt
进入到这个目录
然后执行
CM_f77_gccexe < F:\\temp
运行这个可执行程序,然后F:\\temp这个文件做为标准输入?这个我就不太确定了。linux下应该是这样。
system函数
是可以调用一些DOS命令,比如
system("cls");//清屏,等于在DOS上使用cls命令
下面列出常用的DOS命令,都可以用system函数调用:
ASSOC
显示或修改文件扩展名关联。
AT
计划在计算机上运行的命令和程序。
ATTRIB
显示或更改文件属性。
BREAK
设置或清除扩展式
CTRL+C
检查。
CACLS
显示或修改文件的访问控制列表(ACLs)。
CALL
从另一个批处理程序调用这一个。
CD
显示当前目录的名称或将其更改。
CHCP
显示或设置活动代码页数。
CHDIR
显示当前目录的名称或将其更改。
CHKDSK
检查磁盘并显示状态报告。
CHKNTFS
显示或修改启动时间磁盘检查。
CLS
清除屏幕。
CMD
打开另一个
Windows
命令解释程序窗口。
COLOR
设置默认控制台前景和背景颜色。
COMP
比较两个或两套文件的内容。
COMPACT
显示或更改
NTFS
分区上文件的压缩。
CONVERT
将
FAT
卷转换成
NTFS。您不能转换
当前驱动器。
COPY
将至少一个文件复制到另一个位置。
DATE
显示或设置日期。
DEL
删除至少一个文件。
DIR
显示一个目录中的文件和子目录。
DISKCOMP
比较两个软盘的内容。
DISKCOPY
将一个软盘的内容复制到另一个软盘。
DOSKEY
编辑命令行、调用
Windows
命令并创建宏。
ECHO
显示消息,或将命令回显打开或关上。
ENDLOCAL
结束批文件中环境更改的本地化。
ERASE
删除至少一个文件。
EXIT
退出
CMDEXE
程序(命令解释程序)。
FC
比较两个或两套文件,并显示
不同处。
FIND
在文件中搜索文字字符串。
FINDSTR
在文件中搜索字符串。
FOR
为一套文件中的每个文件运行一个指定的命令
FORMAT
格式化磁盘,以便跟
Windows
使用。
FTYPE
显示或修改用于文件扩展名关联的文件类型。
GOTO
将
Windows
命令解释程序指向批处理程序
中某个标明的行。
GRAFTABL
启用
Windows
来以图像模式显示
扩展字符集。
HELP
提供
Windows
命令的帮助信息。
IF
执行批处理程序中的条件性处理。
LABEL
创建、更改或删除磁盘的卷标。
MD
创建目录。
MKDIR
创建目录。
MODE
配置系统设备。
MORE
一次显示一个结果屏幕。
MOVE
将文件从一个目录移到另一个目录。
PATH
显示或设置可执行文件的搜索路径。
PAUSE
暂停批文件的处理并显示消息。
POPD
还原
PUSHD
保存的当前目录的上一个值。
打印文本文件。
PROMPT
更改
Windows
命令提示符。
PUSHD
保存当前目录,然后对其进行更改。
RD
删除目录。
RECOVER
从有问题的磁盘恢复可读信息。
REM
记录批文件或
CONFIGSYS
中的注释。
REN
重命名文件。
RENAME
重命名文件。
REPLACE
替换文件。
RMDIR
删除目录。
SET
显示、设置或删除
Windows
环境变量。
SETLOCAL
开始批文件中环境更改的本地化。
SHIFT
更换批文件中可替换参数的位置。
SORT
对输入进行分类。
START
启动另一个窗口来运行指定的程序或命令。
SUBST
将路径跟一个驱动器号关联。
TIME
显示或设置系统时间。
TITLE
设置
CMDEXE
会话的窗口标题。
TREE
以图形模式显示驱动器或路径的目录结构。
TYPE
显示文本文件的内容。
VER
显示
Windows
版本。
VERIFY
告诉
Windows
是否验证文件是否已正确
写入磁盘。
VOL
显示磁盘卷标和序列号。
XCOPY
复制文件和目录树。
是用system()函数调用的? 如果调用的cmd有输出,在执行php程序的时候 会自动输出来 如果想在php程序里面获取这个输出,貌似不行,因为这个函数的返回值是 是否执行成功 可以支一招:调用cmd的时候 顺便将输出写入一个临时文件,然后php再读这个文件
求采纳
以上就是关于关于C语言下system函数的疑问全部的内容,包括:关于C语言下system函数的疑问、c语言system函数的用法、C语言中怎样输出自定义函数的输出等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)