目录操作
# 目录操作
# 当前目录
# 找到当前目录的函数
#include <unistd.h>
char* getcwd (char* buf, size_t size);
1
2
2
函数
getcwd
把当前目录的绝对路径名复制到buf
中,该缓冲有size
个字长,如果装不下完整路径,则返回
NULL
。
# pwd功能的实现
#include <unistd.h>
#include <stdio.h>
int main()
{
char buf[80];
getcwd(buf, sizeof(buf));
printf("current working directory : %s\n", buf);
return 0;
}
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
# 改变当前目录
# 改变当前目录的函数
#include <unistd.h>
int chdir(const char* path);
1
2
2
chdir
用来将当前的工作目录改变成以参数path
所指的目录。执行成功则返回0,失败返回-1,
errno
为错误代码。
# 改变当前目录示例
#include <unistd.h>
#include <stdio.h>
int main(int argc, char* argv[])
{
char c[80];
chdir(argv[1]);
printf("%s\n",getcwd(c, 80));
return 0;
}
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# 创建和删除目录
# 创建和删除目录
#include <unistd.h>
#include <sys/stat.h>
int mkdir(const char * path, mode_t mode);
int rmdir(const char * path)
1
2
3
4
2
3
4
- 执行成功返回0,否则返回-1并设置errno。
# mkdir和rmdir功能的实现
#include <unistd.h>
#include <stdio.h>
#include <sys/stat.h>
int main(int argc, char* argv[])
{
mkdir(argv[1],0);
getchar();
rmdir(argv[1]);
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
编辑 (opens new window)
上次更新: 2023/02/18, 10:09:42
- 01
- Linux系统移植(五)--- 制作、烧录镜像并启动Linux02-05
- 03
- Linux系统移植(三)--- Linux kernel移植02-05