Linux 用C语言判断文件和文件夹

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <dirent.h>
int access(const char *pathname, int mode);
int is_file_exist(const char*file_path){
   if(file_path==NULL){
     return -1;
   }
   if(access(file_path,F_OK)==0){
    return 0;
   }
   return -1;
}
int is_dir_exist(const char*dir_path){
    if(dir_path==NULL){
        return -1;
    }
    if(opendir(dir_path)==NULL){
        return -1;
    }
    return 0;
}
int main(int argc,char** argv)
{
    char *myFileBasePath="/usr/bin/.bin/bin";

    int judgeFileResultCode=is_file_exist(myFileBasePath);
    if(judgeFileResultCode==0){
         printf("文件存在\n");
    }else if(judgeFileResultCode==-1){
         printf("文件不存在\n");
    }
    int judgeDirResultCode=is_dir_exist(myFileBasePath);
    if(judgeDirResultCode==0){
        printf("打开文件夹成功,这是个文件夹\n");
    }else if(judgeDirResultCode==-1){
        printf("打开文件夹失败,这不是个文件夹或者文件夹路径错误\n");
    }
    return 0;
}
时间: 2024-10-14 00:38:41

Linux 用C语言判断文件和文件夹的相关文章

归纳整理Linux下C语言常用的库函数----文件操作

在没有IDE的时候,记住一些常用的库函数的函数名.参数.基本用法及注意事项是很有必要的. 参照Linux_C_HS.chm的目录,我大致将常用的函数分为一下几类: 1. 内存及字符串控制及操作 2. 字符串转换 3. 字符测试 4. 文件操作 5. 时间日期 6. 常用数学函数 7. 文件内容操作 8. 文件权限控制 9. 进程操作 10. 线程操作 11. Socket操作 12. 信号处理 13. 数据结构及算法 这次主要总结的是上面黑色部分,关于文件操作的函数. 系统调用归类 * * 函数

linux下c语言实现递归复制文件夹

#include <stdio.h> #include <stdlib.h> #include <stdbool.h> #include <unistd.h> #include <dirent.h> #include <string.h> #include <errno.h> #include <sys/stat.h> #include <fcntl.h> #include <sys/type

LINUX下C语言编程调用其他函数、链接头文件以及库文件

LINUX下C语言编程经常需要链接其他函数,而其他函数一般都放在另外.c文件中,或者打包放在一个库文件里面,我需要在main函数中调用这些函数,主要有如下几种方法: 1.当需要调用函数的个数比较少时,可以直接在main函数中包含该文件,比如一个文件夹下包含add.c和main.c文件: 方法一: 文件add.c定义两个整数相加的函数,code如下: #include <stdio.h> #include <math.h> int add(int a,int b) { int z;

linux设备驱动程序该添加哪些头文件以及驱动常用头文件介绍(转)

原文链接:http://blog.chinaunix.net/uid-22609852-id-3506475.html 驱动常用头文件介绍 #include <linux/***.h> 是在linux-2.6.29/include/linux下面寻找源文件.#include <asm/***.h> 是在linux-2.6.29/arch/arm/include/asm下面寻找源文件.#include <mach/***.h> 是在linux-2.6.29/arch/ar

转载:Linux 下C编程常用的头文件

头文件主目录include 头文件目录中总共有32个.h头文件.其中主目录下有13个,asm子目录中有4个,linux子目录中有10个,sys子目录中有5个.这些头文件各自的功能如下,具体的作用和所包含的信息请参见第14章. <a.out.h>:a.out头文件,定义了a.out执行文件格式和一些宏. <const.h>:常数符号头文件,目前仅定义了i节点中i_mode字段的各标志位. <ctype.h>:字符类型头文件,定义了一些有关字符类型判断和转换的宏. <

Linux下的文件及文件后缀名

1.使用扩展名的背景意义: 一谈到文件类型,大家就能想到Windows的文件类型,比如file.txt.file.doc.file.sys.file.mp3.file.exe等,根据文件的后缀就能判断文件的类型.但在Linux一个文件是否能被执行,和后缀名没有太大的关系,主要看文件的属性有关.但我们了解一下Linux文件的后缀名还是有必要的,特别是我们自己创建一些文件,最好还是加后缀名,这样做的目的是仅仅是为了我们的在应用时方便. 现在的Linux桌面环境和Windows一样智能化,文件的类型是

Linux运维 第二阶段 (六)文件系统管理

Linux运维第二阶段(六)文件系统管理 一.硬盘: 逻辑结构:扇区sectors(磁盘的最小存贮单位).磁道.柱面cylinders: 硬盘大小:磁头数*柱面数*扇区数*每个扇区的大小 注:柱面数表示硬盘每一盘片有几条磁道,扇区数表示每条磁道上有几个扇区 二.文件系统: >超级块(superblock)记录整个文件系统的信息,包括block与inode的总量,已经使用的,未使用的,文件系统的挂载时间,最近一次的写入时间,最近一次的磁盘检验时间: >数据块(datablock)用来实际保存数据

JAVA调用C语言写的SO文件

JAVA调用C语言写的SO文件 因为工作需要写一份SO文件,作为手机硬件IC读卡和APK交互的桥梁,也就是中间件,看了网上有说到JNI接口技术实现,这里转载了一个实例 1 // 用JNI实现 2 // 实例: 3 4 // 创建HelloWorld.java 5 class HelloWorld 6 { 7 private native void print(); 8 public static void main(String[] args) 9 { 10 new HelloWorld().p

[Linux] 批量转换整个目录下的文件编码为UTF-8;

[Linux] 批量转换整个目录下的文件编码为UTF-8: #!/bin/bash - #===============================================================================# #          FILE: conv.sh#  #         USAGE: ./conv.sh #  #   DESCRIPTION: 一个支持把整个目录递归转换GB2312为UTF-8的脚本: #  #       OPTIONS: