关于C语言下system函数的疑问

关于C语言下system函数的疑问,第1张

分类: 电脑/网络 >> 程序设计 >> 其他编程语言

问题描述:

该包含的头文件都包含了

为什么调用

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

保存的当前目录的上一个值。

PRINT

打印文本文件。

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语言中怎样输出自定义函数的输出等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10149340.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存