LinuxC/C++编程(2)—文件夹操作

来源:互联网 发布:淘宝申请维修成功 编辑:程序博客网 时间:2024/05/16 12:51
Linux中文件和文件夹操作有所不同,这里写了个代码,实现了以下几个功能:
1 设置和显示当前工作路径;
2 显示工作路径下的子文件名称;

3 在工作路径下创建一个新的文件夹;

//============================================================================// Name        : DiretoryTest.cpp// Author      : Lin// Version     :// Copyright   : Your copyright notice// Description : Hello World in C++, Ansi-style//============================================================================#include <iostream>#include <dirent.h>#include <cstdio>#include <sys/stat.h>#include <string.h>#include <unistd.h>#define BUF_SIZE 100using namespace std;int main(){/***********设置当前工作路径**************/char workSpace[BUF_SIZE];char* newSpace = "/home/lin/桌面";if (getcwd(workSpace,BUF_SIZE) != newSpace) //如果当前工作路径不是newSpace,则切换工作路径,getcwd()包含于<unistd.h>chdir(newSpace); //Linux C改变当前工作路径,包含于<unistd.h>cout << "The workspace has been changed to " << getcwd(workSpace, BUF_SIZE) << " now!" << endl;/***********显示当前工作路径下的文件名**************/DIR* currentDir = opendir(newSpace);//操作文件夹的函数,基本都包含于<dirent.h>,opendir返回一个DIR*目录指针,与文件指针类似if (currentDir == NULL){cerr << "The path does not exist!" << endl;return -1;}dirent *Dirent;cout << "The directory includes following files:" << endl;while ((Dirent = readdir(currentDir)) != NULL) //readdir返回一个dirent指针,表示一个目录的子文件、目录cout << Dirent->d_name << endl; //Dirent->d_name表示,表示子文件、目录的文件名closedir(currentDir);/***********新建一个文件夹**************/char* newDirent = "/home/lin/桌面/newDirent";if (mkdir(newDirent, S_IRWXU) < 0)//makedir需要设置权限,设置方式open()函数一样{cerr << "creat directory failed!" << endl;return -1;}return 0;}

该解释的在注释里面写了,第二期搞定。

0 0
原创粉丝点击