linuxc 高级编程之文件操作5

题目要求:
1.新建/home/user目录;
2.把当前工作路径移至/home/user目录;
3.打印当前工作路径;


源代码:

#include <stdio.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
#include <fcntl.h>
int main()
{
 int fd;
 if(mkdir("/home/ttt",777)<0)
 {
  perror("mkdir error");
 }
 fd=open("/home/ttt",O_RDONLY);
 fchdir(fd);
 char a[30];
 getcwd(a,30);
 printf("work dir is:%s\n",a);  
 return 0;
}

mkdir()/rmdir()系统调用
功能
创建/删除一个空目录
头文件
#include <sys/stat.h>
#include <sys/types.h>
函数原型
int mkdir(const char *pathname, mode_t mode);
int rmdir(const char *pathname);
返回值
成功时返回0
失败时返回-1

chdir()/fchdir()系统调用
功能
更改工作目录
头文件
#include <unistd.h>
函数原型
int chdir(const char *path);
int fchdir(int fd);
返回值
成功时返回0
失败时返回-1
说明
当前工作目录是进程的属性,所以该函数只影响调用chdir的进程本身

getcwd()系统调用
功能
获得当前工作目录的绝对路径
头文件
#include <unistd.h>
函数原型
char *getcwd(char *buf, size_t size);
返回值
成功时返回buf
出错则为NULL


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章