【MoreWindows工作笔记6】PathCommonPrefix 路径公共前缀

本文介绍了一个实用的函数PathCommonPrefix,用于提取两个路径的公共前缀,并通过示例代码展示了如何使用该函数。此外,还预告了下一章节将介绍更简单的API函数PathIsPrefix,用于判断路径的包含关系。
               

工作后比较忙,没大块的时间来酝酿博客的写作,所以随时记点笔记,一来方便自己查阅,二来也督促自己学习和总结。如果能对大家有所帮助,就更加开心了大笑


提取出路径的公共前缀是个比较实用的功能,函数原型如下:

int PathCommonPrefix(          LPCTSTR pszFile1,    LPCTSTR pszFile2,    LPTSTR pszPath);

各个参数解释如下(这英语相当简单~):

pszFile1
[in] A pointer to a null-terminated string of maximum length MAX_PATH that contains the first path name.
pszFile2
[in] A pointer to a null-terminated string of maximum length MAX_PATH that contains the second path name.
pszPath
[out] A pointer to a buffer that receives the common prefix. This buffer is assumed to be at least MAX_PATH characters in size. If there is no common prefix, it will be set to NULL.

下面给出示范:

// 【MoreWindows工作笔记6】PathCommonPrefix 路径的公共前缀//  http://blog.youkuaiyun.com/morewindows/article/details/17078619#include <windows.h>#include <Shlwapi.h>#include <string>#include <iostream>using namespace std;#pragma comment(lib, "shlwapi.lib")int main()printf("   【MoreWindows工作笔记6】PathCommonPrefix 路径的公共前缀\n");      printf(" - http://blog.youkuaiyun.com/morewindows/article/details/17078619 -\n");      printf(" -- By MoreWindows( http://blog.youkuaiyun.com/MoreWindows ) --\n\n");  // 路径公共前缀  string src_path = "C:\\test1\\test"; //"\\home\\test1\\test";  string des_path = "C:\\test1\\test2"; //"\\home\\test1\\test2";  char prefix_path[MAX_PATH];  PathCommonPrefix(src_path.c_str(), des_path.c_str(), prefix_path);  cout<<"源路径:   "<<src_path<<endlcout<<"目标路径: "<<des_path<<endlcout<<"-----------------------------------"<<endlcout<<"路径共有的前缀为: "<<prefix_path<<endlif (prefix_path == src_path)    cout<<" 目标路径包含源路径"<<endlelse    cout<<" 目标路径不包含源路径"<<endlcout<<"-----------------------------------"<<endlreturn 0;}
运行结果如图所示:


本篇《【MoreWindows工作笔记6】PathCommonPrefix 路径的公共前缀》介绍了使用函数提取路径的公共前缀,并使用公共前缀来判断路径的包含关系,下一篇《【MoreWindows工作笔记7】PathIsPrefix 判断路径的包含关系》将介绍一个更简单的API函数来判断路径的包含关系——PathIsPrefix。欢迎继续浏览~


地址:http://blog.youkuaiyun.com/morewindows/article/details/17078619  转载请标明出处,谢谢。

欢迎关注微博:http://weibo.com/MoreWindows  



           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.youkuaiyun.com/jiangjunshow

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值