linux c开发一定会遇到创建文件,废话少说,代码如下,不足之处请多指教!
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdbool.h>
#include <stdio.h>
#include <errno.h>
#include <string.h>
#include <libgen.h>
#include <stdlib.h>
int isFileExisted(const char *pathname){
if(access(pathname,F_OK) == 0){
return true;
}
return false;
}
void makeDirectory(const char *path){
if((strcmp(path,".") == 0) || (strcmp(path,"/")==0))
return ;
if(isFileExisted(path))
return ;
else{
char *duppath = strdup(path);
const char *dir_name = dirname(duppath);
makeDirectory(dir_name);
free(duppath);
}
if(mkdir(path,0766) < 0){
perror("mkdir");
exit(1);
}
return;
}
int createFile(const char*filename,int mode){
if(creat(filename,mode) < 0){
if(errno == ENOENT){
char *dup_filename=st