chdir()怎么用

drzy123 2004-10-22 11:14:10
我想转变工作目录
如当前是e:想转换到d:怎么做
chdir()我看不懂怎么用的,那位给讲讲
函数名: chdir
功 能: 改变工作目录
用 法: int chdir(const char *path);
程序例:

#include <stdio.h>
#include <stdlib.h>
#include <dir.h>

char old_dir[MAXDIR];
char new_dir[MAXDIR];

int main(void)
{
if (getcurdir(0, old_dir))
{
perror("getcurdir()");
exit(1);
}
printf("Current directory is: \\%s\n", old_dir);

if (chdir("\\"))
{
perror("chdir()");
exit(1);
}

if (getcurdir(0, new_dir))
{
perror("getcurdir()");
exit(1);
}
printf("Current directory is now: \\%s\n", new_dir);

printf("\nChanging back to orignal directory: \\%s\n", old_dir);
if (chdir(old_dir))
{
perror("chdir()");
exit(1);
}

return 0;
}

...全文
1026 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
drzy123 2004-10-25
  • 打赏
  • 举报
回复
chdir()的参数是什么形式的呢?
我用chdir("e:\\website")不行
cuichd99 2004-10-22
  • 打赏
  • 举报
回复
查msdn
kobefly 2004-10-22
  • 打赏
  • 举报
回复
我正在写关于系统文件啊,目录啊
什么得
MARK
学习一下
summerICEREDTEA 2004-10-22
  • 打赏
  • 举报
回复
strcpy(path, "X:\\"); --------"X:\\“什么意思
X:\
path[0] = 'A' + getdisk(); -----为什么要加‘A’
GETdisk 因该返回的是INT
'A'+int 得到盘符 比如c啊 D啊 什么的
我猜的
getcurdir(0, path+3); ---------path为什么要加3
path[0] path[1] path{2]中存储的是盘符 比如c:\
summerICEREDTEA 2004-10-22
  • 打赏
  • 举报
回复
getcurdir() 作用因该是读取当前目录
int chdir(const char *path);
参数因该为你欲转换的目录
if (chdir("\\"))
"\\" 因该是你没输入完整的目录?
UP
drzy123 2004-10-22
  • 打赏
  • 举报
回复
这个函数也不懂

函数名: getcurdir
功 能: 取指定驱动器的当前目录
用 法: int getcurdir(int drive, char *direc);
程序例:

#include <dir.h>
#include <stdio.h>
#include <string.h>

char *current_directory(char *path)
{
strcpy(path, "X:\\"); --------"X:\\“什么意思
path[0] = 'A' + getdisk(); -----为什么要加‘A’
getcurdir(0, path+3); ---------path为什么要加3
return(path);
}

int main(void)
{
char curdir[MAXPATH];

current_directory(curdir);
printf("The current directory is %s\n", curdir);

return 0;
}

69,368

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧