检查一个字符串是否以另一个已知字符串开头?

4

我通常用Java编写我的代码,最近开始使用C++。我想知道如何在C++中检查给定的字符串是否以另一个指定的字符串开头。下面是Java版本的代码。

public boolean check(String string) //ENTERED string
{
    String another_string="SSS"; //to be checked if the ENTERED string starts with this string

    return (string.startsWith(another_string)); //<string>.startsWith(<string>) returns a boolean value

}

std::equal 应该可以在不像 .find 那样查找整个字符串的情况下完成,即使子字符串不存在于字符串中。 - chris
请问您能否提供一个使用std::equal的示例来进行解释? - Piyush Ranjan
1个回答

6

请尝试查找字符串"bcde",您会发现它被找到了。但如果我们询问它是否以该字符串"开头"而不是"包含"该字符串,则结果是错误的。 - Hunter_71
1
如果你读了问题,OP想检查一个字符串是否以另一个已知字符串开头,而不是包含另一个已知字符串。find返回位置,如果位置等于0,则可以理解为字符串以它开始。如果你使用bcde,find会返回1,因为bcde在第一个位置。所以答案没有问题。 - utarid
1
是的,你说得对,found == 0 就是“以...开始”的答案 :) 抱歉,我的错。 - Hunter_71

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接