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


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