本文目录一览:
- 1、C语言chdir函数用法
- 2、C语言函数的目录函数
- 3、电脑中CHDIR什么意思?
- 4、如何用c语言打开多个文件或文件夹
- 5、C语言中什么函数可以设置程序的当前工作路径解决办法
- 6、如何用c语言如何打开一个文件夹
C语言chdir函数用法
char
s1[]="abcdef",s2="bcdf";
应改为:char
s1[]="abcdef",s2[]="bcdf";
上次就说了,for语句下面只能包括一条语句(if表达式,while,for,do
while等)如果要包括多个要用{}括起来
for(i=0;s2[i];i++)
s1[i]=s2[i];
功能是将s2的字符依次复制到s1中,也就是取代s1所有的值,
因为字符串是以'\0'结束的,(也可以用0表示字符串结束符)
所以s1[i]=0;就表示s1[i]='\0';代表字符串已复制完毕,结束了
C语言函数的目录函数
所在函数库为dir.h、dos.h
int chdir(char *path) 使指定的目录path(如:C:\\WPS)变成当前的工作目录,成
功返回0
int findfirst(char *pathname,struct ffblk *ffblk,int attrib)查找指定的文件,成功
返回0
pathname为指定的目录名和文件名,如C:\\WPS\\TXT
ffblk为指定的保存文件信息的一个结构,定义如下: struct ffblk { char ff_reserved[21]; /*DOS保留字*/ char ff_attrib; /*文件属性*/ int ff_ftime; /*文件时间*/ int ff_fdate; /*文件日期*/ long ff_fsize; /*文件长度*/ char ff_name[13]; /*文件名*/ } attrib为文件属性,由以下字符代表
┃FA_RDONLY 只读文件┃FA_LABEL 卷标号┃
┃FA_HIDDEN 隐藏文件┃FA_DIREC 目录 ┃
┃FA_SYSTEM 系统文件┃FA_ARCH 档案 ┃
例:
struct ffblk ff;
findfirst(*.wps,ff,FA_RDONLY);
int findnext(struct ffblk *ffblk) 取匹配finddirst的文件,成功返回0
void fumerge(char *path,char *drive,char *dir,char *name,char *ext)
此函数通过盘符drive(C:、A:等),路径dir(\TC、\BC\LIB等),
文件名name(TC、WPS等),扩展名ext(.EXE、.COM等)组成一个文件名
存与path中.
int fnsplit(char *path,char *drive,char *dir,char *name,char *ext)
此函数将文件名path分解成盘符drive(C:、A:等),路径dir(\TC、\BC\LIB等),
文件名name(TC、WPS等),扩展名ext(.EXE、.COM等),并分别存入相应的变量中.
int getcurdir(int drive,char *direc) 此函数返回指定驱动器的当前工作目录名称
drive 指定的驱动器(0=当前,1=A,2=B,3=C等)
direc 保存指定驱动器当前工作路径的变量 成功返回0
char *getcwd(char *buf,iint n) 此函数取当前工作目录并存入buf中,直到n个字
节长为为止.错误返回NULL
int getdisk() 取当前正在使用的驱动器,返回一个整数(0=A,1=B,2=C等)
int setdisk(int drive) 设置要使用的驱动器drive(0=A,1=B,2=C等),
返回可使用驱动器总数
int mkdir(char *pathname) 建立一个新的目录pathname,成功返回0
int rmdir(char *pathname) 删除一个目录pathname,成功返回0
char *mktemp(char *template) 构造一个当前目录上没有的文件名并存于template中
char *searchpath(char *pathname) 利用MSDOS找出文件filename所在路径,
,此函数使用DOS的PATH变量,未找到文件返回NULL
电脑中CHDIR什么意思?
cmd是command的缩写.命令行
在9x系统下输入command就可以打开命令行.而在NT系统上可以输入cmd来打开.
在命令行里你可以看到你的系统版本,文件系统版本等等
你可以敲入help查看帮助
Cmd启动命令解释器 Cmd.exe 的新实例。如果在不含参数的情况下使用,则 cmd 显示 Windows XP 的版本和版权信息。
语法
cmd [[{/c|/k}] [/s] [/q] [/d] [{/a|/u}] [/t:fg] [/e:{on|off}] [/f:{on|off}] [/v:{on|off}] string]
参数
/c
执行 string 指定的命令,然后停止。
/k
执行 string 指定的命令并继续。
/s
修改位于 /c 或 /k 之后的 string 处理。
/q
关闭回显。
/d
禁用自动运行命令执行。
/a
创建美国国家标准协会 (ANSI) 输出。
/u
创建 Unicode 输出。
/t:fg
设置前景 f 和背景 g 的颜色。下表列出了可用作 f 和 g 的值的有效十六进制数字。 值 颜色
0 黑色
1 蓝色
2 绿
3 湖蓝色
4 红
5 紫色
6 黄
7 白色
8 灰色
9 浅蓝色
A 浅绿色
B 浅水绿
C 浅红色
D 浅紫色
E 浅黄色
F 亮白色
/e:on
启用命令扩展。
/e:off
禁用命令扩展。
/f:on
启用文件和目录名完成。
/f:off
禁用文件和目录名完成。
/v:on
启用延迟的环境变量扩展。
/v:off
禁用延迟的环境变量扩展。
string
指定要执行的命令。
/?
在命令提示符显示帮助。
注释
使用多个命令
可以在 string 中使用由 分隔的多个命令,不过这些命令必须置于引号之中(例如,"commandcommandcommand")。
处理引号
如果指定了 /c 或 /k,则在满足下述所有条件的情况下,cmd 会处理 string 中的其余命令而将引号保留:
未使用 /s。
正确使用一对引号。
在引号内未使用任何特殊字符(例如: ( ) @ ^ |}。
在引号内使用了一个或多个空格子符。
引号内的 string 为可执行文件的名称。
如果上述条件不能满足,则处理 string 时将首先检查它的第一个字符以验证其是否为左引号。如果第一个字符是左引号,则它会与右引号分离开。跟在右引号之后的任何文本都会得到保留。
执行注册表子项
如果在 string 中未指定 /d,Cmd.exe 会查找下述注册表子项:
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun\REG_SZ
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun REG_EXPAND_SZ
如果上述的一个注册表子项或两个都存在,则会在执行其他变量之前执行它们。
警告
编辑注册表不当可能会严重损坏您的系统。在更改注册表之前,应备份计算机上任何有价值的数据。
启用和禁用命令扩展
在 Windows XP 中,命令扩展在默认情况下是启用的。对于特定过程可以使用 /e:off 将它们禁用。通过设置下述 REG_DWORD 值,可以在计算机上或用户会话中启用或禁用所有 cmd 命令行选项的扩展:
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions\REG_DWORD
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions\REG_DWORD
在注册表中使用 Regedit.exe 可以将 REG_DWORD 值设为 0×1(即启用)或 0×0(即禁用)。用户特定设置优先于计算机设置,并且命令行选项优先于注册表设置。
警告
编辑注册表不当可能会严重损坏您的系统。在更改注册表之前,应备份计算机上任何有价值的数据。
启用命令扩展后,会影响到下述命令:
assoc
call
chdir (cd)
color
del (erase)
endlocal
for
ftype
goto
if
mkdir (md)
popd
prompt
pushd
set
setlocal
shift
start(还包括将更改外部命令过程)
有关这些命令的详细信息,请参阅“相关主题”。
启用延迟的环境变量扩展
启用延迟的环境变量扩展,可以使用感叹号字符来替代运行时的环境变量值。
启用文件和目录名完成
默认情况下,禁用文件和目录名完成。对于特定的 cmd 命令处理,可以通过 /f:{on|off} 来启用或禁用该功能。通过设置下述 REG_DWORD 值,可以在计算机上或用户会话中启用或禁用所有 cmd 命令处理的文件和目录名完成:
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\CompletionChar\REG_DWORD
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\PathCompletionChar\REG_DWORD
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\CompletionChar\REG_DWORD
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\PathCompletionChar\REG_DWORD
要设置 REG_DWORD 值,请运行 Regedit.exe 并使用特定功能的控制字符的十六进制值(例如,用 0×9 表示 TAB 键,用 0×08 表示 BACKSPACE 键)。用户特定设置优先于计算机设置,并且命令行选项优先于注册表设置。
警告
编辑注册表不当可能会严重损坏您的系统。在更改注册表之前,应备份计算机上任何有价值的数据。
如果使用 /f:on 启用了文件和目录名完成,则对于目录名完成,可使用 CTRL+D 组合键;而对于文件名完成,可使用 CTRL+F 组合键。要禁用注册表中特定字符的完成,请使用空格值 [0×20],因为空格不是有效的控制字符。
按 CTRL+D 或 CTRL+F 组合键时,cmd 会处理文件和目录名的完成操作。这些组合键的作用是在 string 后附加通配符(如果还未使用),并创建匹配的路径列表,然后显示第一个匹配的路径。如果所有路径都不匹配,文件和目录名完成操作会发出警告声,并且不更改所显示的内容。要逐个查看匹配路径列表中的路径,请重复按 CTRL+D 或 CTRL+F 组合键。要向后查看该列表,请在按 SHIFT 的同时按 CTRL+D 或 CTRL+F 组合键。要放弃已保存的匹配路径列表并生成新列表,可以编辑 string,然后按 CTRL+D 或 CTRL+F 组合键。如果在 CTRL+D 和 CTRL+F 组合键之间切换,将会放弃已保存的匹配路径列表并生成新列表。CTRL+D 组合键与 CTRL+F 组合键之间唯一的不同在于,CTRL+D 仅匹配目录名,而 CTRL+F 既匹配文件名,又匹配目录名。如果在任何内部目录命令(CD、MD 或 RD)中使用文件和目录名的完成,将仅使用目录的完成。
如果将匹配路径置于引号之中,则文件和目录名完成会正确地处理含有空格或特殊字符的文件名。
下述特殊字符需要有引号: [ ] { } ^ = ; ! ' + , ` ~ [white space]
如果您提供的信息包含空格,请将文本置于引号之中(例如,"Computer Name")。
如果从 string 中处理文件和目录名完成操作,则位于光标右侧的 [Path] 的任意部分都将放弃(即在 string 中处理完成操作的位置)。
格式化图例
格式 含义
斜体 用户必须提供的信息
粗体 用户必须像显示的一样准确键入的元素
省略号 (...) 可在命令行中重复多次的参数
在括号 ([]) 之间 可选项目
在大括号 ({}) 之间;将选项用竖线 (|) 隔开。例如:{even|odd} 用户必须从中只选择一个选项的选项组
Courier 字体 代码或程序输出
如何用c语言打开多个文件或文件夹
在C语言中,对文件夹的操作,专业的说法称为"切换路径/目录",而不是"打开",因为文件夹,并不是一个"真正的文件",而只是一个访问文件的目录.
用C语言中的函数chdir,也就是change
directory
int
chdir(char
*path)
--
使指定的目录path变成当前的工作目录,之后所有的文件操作都是该目录下.
比如,想切换到f盘test目录下可以这样:
chdir("f:\\test
");
返回0表示切换成功,否则,表示失败.
C语言中什么函数可以设置程序的当前工作路径解决办法
chdir函数
int chdir(char *path);
功 能:更改当前工作目录。
参 数:Path 目标目录,可以是绝对目录或相对目录。
返回值:成功返回0 ,失败返回-1
VC下是_chdir 前面加一个下划线
TC和gcc下就是chdir
如何用c语言如何打开一个文件夹
用文件路径操作函数找到源代码所在的文件夹。使用文件操作函数fopen打开源文件即可。
路径操作函数 chdir。
chdir函数是C语言中的一个系统调用函数(同cd)功 能:更改当前工作目录。参 数:Path 必选。Path 可能包含驱动器。如果未指定驱动器,则当前驱动器上的默认目录或文件夹。返回值:成功返回0 ,失败返回-1
文件操作函数fopen。
函数原型:FILE * fopen(const char * path,const char * mode);返回值:文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno中。一般而言,打开文件后会做一些文件读取或写入的动作,若打开文件失败,接下来的读写动作也无法顺利进行,所以一般在fopen()后作错误判断及处理。