C语言,如何检查文件是否存在和权限的信息
2015-07-11 11:55
381 查看
按功能access,头文件io.h(linux通过使用unistd.h
int access(const char *filename, int amode);
amode參数为0时表示检查文件的存在性,假设文件存在。返回0。不存在,返回-1。
这个函数还能够检查其他文件属性:
06 检查读写权限
04 检查读权限
02 检查写权限
01 检查运行权限
00 检查文件的存在性
在UNIX和VC下实验成功。
优点是 fopen(..,"r")不好,当无读权限时一不行了。
而这个就算这个文件没有读权限。也能够推断这个文件存在于否
存在返回0。不存在返回-1
測试程序
int access(const char *filename, int amode);
amode參数为0时表示检查文件的存在性,假设文件存在。返回0。不存在,返回-1。
这个函数还能够检查其他文件属性:
06 检查读写权限
04 检查读权限
02 检查写权限
01 检查运行权限
00 检查文件的存在性
在UNIX和VC下实验成功。
优点是 fopen(..,"r")不好,当无读权限时一不行了。
而这个就算这个文件没有读权限。也能够推断这个文件存在于否
存在返回0。不存在返回-1
#include <stdio.h> int main() { printf ("%d",access("test.db",0)); }
測试程序
#define __WINDOWS__ // windows系统使用 //#define __LINUX__ // linux系统下使用 #ifdef __WINDOWS__ #include <io.h> #endif #ifdef __LINUX__ #include <unistd.h> #endif #include <stdio.h> #include <stdlib.h> #define FILE_NAME "test.db" int main( void ) { /* Check for existence */ if( (access(FILE_NAME, 0 )) != -1 ) { printf( "File [ %s ] exists\n", FILE_NAME); /* Check for write permission */ if( (_access(FILE_NAME, 2 )) != -1 ) { printf( "File [ %s ] has write permission\n", FILE_NAME); } else { printf( "File [ %s ] has not write permission\n", FILE_NAME); } } else { printf( "File [ %s ] don't exists\n", FILE_NAME); } }
相关文章推荐
- c++启动外部exe程序,出现闪退或缺少东西之类的问题,而双击exe没问题的情况
- c++ main函数
- C语言及程序设计[套餐]课程主页
- 自己新建一个支持c++11的Qt工程模板
- 全局变量和静态变量分析
- 使用Visual Leak Detector for Visual C++ 捕捉内存泄露---Visual C++内存泄露检测—VLD工具使用说明
- 深入理解C++的const变量
- C语言文件的输入输出_学生的信息
- 如何用C语言封装 C++的类,在 C里面使用
- 阶乘因式分解(二)
- C中如何调用C++函数
- C++智能指针大总结
- C语言itoa()函数和atoi()函数详解(整数转字符C实现)
- C++类中数据成员为类类型时,定义为对象还是定义为指针?
- C语言中的sizeof
- 基本内部排序算法-c语言
- 黑马程序员-IOS学习笔记 c语言 DEBUG 日志打印
- 《Effective C++》——条款04:确定对象使用前已先被初始化
- C++面试之GetMemory问题
- c++指针与引用的区别