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=strdup(filename);char *dir = dirname(dup_filename);makeDirectory(dir);free(dup_filename);creat(filename,mode);}return false;}return true;
}int isFileNull(const char *filename){FILE *fp = fopen(filename,"r");if(fp == NULL)return -1;  int val = 0;char ch = fgetc(fp);if(ch == EOF)val = 1;fclose(fp);return val;
}

补充:

dirname函数和basename函数,使用man 3 dirname 查看。

c语言创建文件、文件夹、判断文件内容是否为空相关推荐

  1. JAVA之旅(二十八)——File概述,创建,删除,判断文件存在,创建文件夹,判断是否为文件/文件夹,获取信息,文件列表,文件过滤...

    JAVA之旅(二十八)--File概述,创建,删除,判断文件存在,创建文件夹,判断是否为文件/文件夹,获取信息,文件列表,文件过滤 我们可以继续了,今天说下File 一.File概述 文件的操作是非常 ...

  2. JAVA之旅(二十八)——File概述,创建,删除,判断文件存在,创建文件夹,判断是否为文件/文件夹,获取信息,文件列表,文件过滤

    JAVA之旅(二十八)--File概述,创建,删除,判断文件存在,创建文件夹,判断是否为文件/文件夹,获取信息,文件列表,文件过滤 我们可以继续了,今天说下File 一.File概述 文件的操作是非常 ...

  3. python打开一个不存在的文件时-python判断文件是否存在,不存在就创建一个的实例...

    python判断文件是否存在,不存在就创建一个的实例 如下所示: try: f =open("D:/1.txt",'r') f.close() except IOError: f ...

  4. Hdfs系列之:查看hdfs文件状态,判断文件是否损坏,修复hdfs损坏文件

    Hdfs系列之:查看hdfs文件状态,判断文件是否损坏,修复hdfs损坏文件 一.查看Hdfs文件状态 二.参数详解 三.修复hdfs损坏文件 一.查看Hdfs文件状态 命令格式为: hdfs fsc ...

  5. java 判断文件夹是否存在 没有则创建_java中实现判断文件是否存在,不存在则创建...

    一.判断文件是否存在,不存在则创建File file = new File("d:\\test.txt"); if (!file.exists()) { try { file.cr ...

  6. qdir 自动创建多级目录_Qt 判断文件或文件夹是否存在及创建文件夹

    1. 判断文件夹是不是存在 参数说明: QString fullPath;//文件夹全路径 /*方法1*/ bool isDirExist(QString fullPath) { QDir dir(f ...

  7. C语言创建删不掉的文件夹

    上一篇博客写了一个杀不死的进程,现在再写一个删不掉的文件夹(文件同理),所谓删不掉不是真的删不掉而是删掉后马上重新创建.代码如下: #include <stdio.h> #include ...

  8. java 不存在就创建,java怎么实现判断文件是否存在,不存在就创建的方法

    java怎么实现判断文件是否存在,不存在就创建的方法 发布时间:2020-06-23 11:29:37 来源:亿速云 阅读:118 作者:Leah 这篇文章运用简单易懂的例子给大家介绍java实现判断 ...

  9. win32 c语言检测文件是否存在,判断文件、目录是否存在:C、C++、Windows API、 boost...

    一.判断文件是否存在 #ifdef WIN32 #include //C (Windows) access #else #include //C (Linux) access #endif #incl ...

  10. linux shell脚本判断文件行数,判断文件是否存在的shell脚本代码

    实现代码一. #!/bin/sh # 判断文件是否存在 # lilSzqFnk:www.jb51.net # date:2013/2/28 myPath="/var/log/httpd/&q ...

最新文章

  1. Leetcode 剑指 Offer 53 - I. 在排序数组中查找数字 I (每日一题 20210928)
  2. composer 使用指南
  3. Cognos报表展示图片小技巧
  4. AD19 add pins to nets错误_《英雄联盟手游》错误代码问题大全 LOL的错误代码都是什么意思...
  5. 挑战练习6.4 报告编译版本
  6. Java中的基本类型和引用类型变量的区别
  7. 使用Maven构建Struts2项目
  8. 重建Windows 7的图标缓存
  9. 第十二章——SQLServer统计信息(3)——发现过期统计信息并处理
  10. java 病毒查杀_Java清除exe文件中的病毒
  11. PHP:pack、unpack用法大全
  12. 【Maven打包报错解决方案】Using ‘UTF-8‘ encoding to copy filtered resources.
  13. 新 iPhone 去“刘海”、AR/VR 头显或成 One More Thing,苹果秋季发布会前瞻!
  14. 太原理工大学计算机专业老师,郝晓燕 - 太原理工大学 - 信息与计算机学院
  15. IBIS建模方法之自己编写IBIS模型文件
  16. 从欧几里得到拓展欧几里得
  17. 物理层的传输介质和设备
  18. 自动驾驶引发的致死车祸,没有一方是无辜的
  19. MapBox加载不同风格的地图
  20. .Net Core编译或者发布时多语言包问题

热门文章

  1. 商用计算机cpu,面向商业用户!AMD速龙II B22商用CPU评测
  2. Rust 正式发布八周年纪念日 2023.5.15
  3. Unity Vector3.Dot(VectorA, VectorB)
  4. 文件编码识别工具icu4j
  5. 如何解决undefined reference to `bblib_idft_burst_fxp'编译时函数未定义问题
  6. Tensorflow 代码解析
  7. 查归档日志文件每小时生成量
  8. 使用sphinx-doc优雅的书写html和项目介绍,包含restructureText常用语法
  9. 你负责看比赛,其他的放着我来 | 苏宁体育赛事直播频道化运营关键技术
  10. 你知道的都是错的:十分钟了解完CRM