C/C++有没有那个函数可以判断一个字符串是否是合法的路径??

hurryboylqs 2009-05-21 03:23:12
比如 C:\\asdfa\\sdfklh\\
这个字符串是个合法的文件夹路径,但是这个文件夹不一定存在
我现在只要判断这个字符串是否是合法的文件夹路径就可以了,有无简便的方法?
...全文
3129 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
amossavez 2009-05-22
  • 打赏
  • 举报
回复
本人感觉正则表达式做好了!!

jackyjkchen 2009-05-22
  • 打赏
  • 举报
回复
复制别人的答案没意思
光宇广贞 2009-05-22
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/en-us/library/bb773584(VS.85).aspx
xianyuxiaoqiang 2009-05-22
  • 打赏
  • 举报
回复
判断第一个字符是否为字母;
判断第二个字符是否为冒号;
判断第三个字符是否为\\;
判断后续字符是否符合文件命名规范。
「已注销」 2009-05-21
  • 打赏
  • 举报
回复
有现成的API函数,Path系列。
hurryboylqs 2009-05-21
  • 打赏
  • 举报
回复
自己解析怕不全面啊,到底什么才算合法合非法我还搞不清楚,呵呵
3楼的,我现在想用ATL 的CAtlRegExp这个正则类来判断,应该怎么写呢?没用过正则(别打我^_^)
wlk 2009-05-21
  • 打赏
  • 举报
回复
没有现成函数,编码实现
晨星 2009-05-21
  • 打赏
  • 举报
回复
不嫌麻烦的话,可以用用boost::filesystem中的东西。:P
  • 打赏
  • 举报
回复
唉,你还是自己解析一下吧,也不难啊
goodname 2009-05-21
  • 打赏
  • 举报
回复
这种现成的函数,我觉得库里面没有.

也许在别人的工程里面实现过吧.
hurryboylqs 2009-05-21
  • 打赏
  • 举报
回复
1楼的,你这种方法一定要文件夹路径存在才行啊,我现在只是想判断下这个字符串是不是合法的路径名,而不一定要这个文件夹真是存在!
cppfaq 2009-05-21
  • 打赏
  • 举报
回复
这个没有现成的API,给你个正则自己写写看吧:
@"^(([a-zA-Z]\:)|(\\))(\\{1}|((\\{1})[^\\]([^/:*?<>""|]*))+)$"
goodname 2009-05-21
  • 打赏
  • 举报
回复
可以研究下stat函数或者是用opendir试试看
lsldd 2009-05-21
  • 打赏
  • 举报
回复
可以使用C运行时库中的_findfirst函数
需要包括<io.h>头文件。

也可以使用API函数:FindFirstFile
声明
HANDLE FindFirstFile(
LPCTSTR lpFileName, // file name
LPWIN32_FIND_DATA lpFindFileData // data buffer
);
功能说明
该函数到一个文件夹(包括子文件夹)去搜索指定文件 如果要使用附加属性去搜索文件的话 可以使用FindFirstFileEx函数

65,204

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧