gpt4 book ai didi

c++ - 检查一个字符串是否是另一个字符串的前缀

转载 作者:IT老高 更新时间:2023-10-28 14:01:05 32 4
gpt4 key购买 nike

我有两个要比较的字符串:StringString:。是否有一个库函数在传递这两个字符串时返回 true,但对于 StringOtherString 来说返回 false?

确切地说,我想知道一个字符串是否是另一个字符串的前缀。

最佳答案

使用 std::mismatch .将较短的字符串作为第一个迭代器范围传入,将较长的字符串作为第二个迭代器范围传入。返回的是一对迭代器,第一个是第一个范围内的迭代器,第二个是第二个范围内的迭代器。如果第一个是第一个范围的结尾,那么你知道短字符串是长字符串的前缀,例如

std::string foo("foo");
std::string foobar("foobar");

auto res = std::mismatch(foo.begin(), foo.end(), foobar.begin());

if (res.first == foo.end())
{
// foo is a prefix of foobar.
}

关于c++ - 检查一个字符串是否是另一个字符串的前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7913835/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com