我是linux的新手,我想知道如何获取以下格式的路径- /home/linux/sample/
我想写一个c++函数,它接受路径作为输入,并返回true,就好像路径有/home/linux/sample/一样。
示例:
如果路径为/home/linux/sample/test.txt,则应返回true
如果路径为/home/linux/sample/dir,则应返回true
如果路径为/home/linux/user/test.txt,则应返回false
谁能帮帮我?
提前谢谢。
发布于 2015-09-04 20:20:16
要编写这样的函数,只需std::string:
string str ("There are two needles in this haystack.");
string str2 ("needle");
if (str.find(str2) != string::npos) {
//.. found.
} 如果算法会变得比我更复杂,我会转向正则表达式。
发布于 2015-09-04 20:32:15
看起来你正在尝试检查一个字符串是否是另一个字符串的前缀。在这种情况下,您可以依赖<algorithm>的std::equal
std::string prefix = "/home/linux/sample/";
std::string path0 = "/home/linux/sample/test.txt";
if(std::equal(prefix.begin(), prefix.end(), path0.begin())) {
...
}prefix末尾的/很重要!
https://stackoverflow.com/questions/32397821
复制相似问题