在Linux嵌入式系统中,经常会使用Qt来读写一个文件,判断一个文件是否存在,具体如何实现呢?
首先,要使用linux系统中相关的头文件:
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
其次,判断路径是否存在,
if(!dir.exists()){
mkdir("/etc/Test",0777);
}
判断文件是否存在,这时会用到linux下的access()函数,检查文件访问权限与存在性,用的头文件unistd.h
。
int isExist = access("/etc/myfile.conf",F_OK);
返回错误值:
EACCES:一个或多个访问模式位(R_OK, W_OK, X_OK)被设置,但是文件不允许这种访问。R_OK就是可读,W_OK可写,F_OK文件存在
ELOOP:解析pathname时遇到了太多的符号链接。
ENAMETOOLONG:pathname太长。
ENOENT:文件或目录不存在。
ENOTDIR:pathname的一部分不是目录。
EROFS:在只读文件系统上尝试写入文件。
EFAULT:pathname指向的内存区域在进程的