【MFC】如何判断文件路径是否合法

【MFC】MFC如何判断文件路径是否合法

前言

当从配置文件中读取路径时,需要判断文件内的路径名是否合法,如果不加以判断,当你编程的软件在其他电脑上打开后,读取的路径不合法,程序运行就会出问题。

正文

当从配置文件中读取出路径后,可以调用GetFileAttributes()函数来获取文件的属性,然后通过判断文件的属性是否是“无效属性”,是则认为是不合法路径,不是则认为是合法路径。
GetFileAttributes(__in LPCTSTR lpFileName)
参数
lpFileName文件或目录的名字,对于ANSI版本,名字不能大于MAX_PATH(260)。
返回值
如果函数成功,返回值包含文件或目录的属性(属性列表见备注)。如果函数失败,返回值是INVALID_FILE_ATTRIBUTES

//获取目录/文件的属性
CString			strRecordPath;
strRecordPath = _T("C:\\Users\\Microsoft\\Desktop\\");
PathAttributes = GetFileAttributes(strRecordPath);
//判断路径下文件是否合法
if(PathAttributes == INVALID_FILE_ATTRIBUTES)	//若是无效属性
{
	str.Format(_T("文件路径不合法"));
	AfxMessageBox(str);
}

用户也可以通过其他返回值来判断文件/目录的属性。

意义
FILE_ATTRIBUTE_ARCHIVEright-aligned 存档文件(或目录)
FILE_ATTRIBUTE_COMPRESSED压缩文件(或目录)。用于文件时:该文件中所有的记录都是经过压缩的;用于目录时:在该目录下新建文件或子目录时会默认进行压缩。
FILE_ATTRIBUTE_DEVICE未使用,保留
FILE_ATTRIBUTE_DIRECTORY目录
FILE_ATTRIBUTE_ENCRYPTED加密文件(或目录)。用于文件时:该文件中所有的记录都是经过加密的,包括读写操作;用于目录时:在该目录下新建文件或子目录时会默认进行加密。
FILE_ATTRIBUTE_HIDDEN隐藏文件(或目录)
FILE_ATTRIBUTE_NORMAL文件(或目录)正常
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED标示一个文件不可被内容索引服务索引
FILE_ATTRIBUTE_OFFLINE脱机文件,该文件中的内容无法直接使用
FILE_ATTRIBUTE_READONLY只读文件(或目录)
FILE_ATTRIBUTE_REPARSE_POINT超链接或快捷方式
FILE_ATTRIBUTE_SPARSE_FILE稀疏文件
FILE_ATTRIBUTE_SYSTEM系统文件(或目录)
FILE_ATTRIBUTE_TEMPORARY临时文件
FILE_ATTRIBUTE_VIRTUAL系统文件

参考链接

链接: GetFileAttributes() 函数说明.

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值