我有这个Uni赋值(在C ++中读取csv文件的一部分),我无法完全理解我能做什么。其中一条指令是定义一个C ++ bool函数,其中两个指针指向C字符串作为参数。该函数检查第一个参数指针指向的字符串是否是第二个参数指针指向的字符串的一部分,并转换为布尔值。 类似于... function_name(“婴儿”,“婴儿很可爱”)返回true,因为function_name(“Radio”,“今晚娱乐”)返回false。
答案 0 :(得分:0)
赞strstr
?不同之处在于标准库函数首先具有haystack,并返回指向第一个匹配项的指针而不是布尔值。如果您可以使用标准库函数,那么您可以根据strstr
来定义这个函数。否则,您可以遍历haystack,搜索针的第一个字符,并且对于第一个字符的每次出现,检查它是否开始出现整个针。
答案 1 :(得分:0)
您可以使用std::search
轻松确定字符串是否包含特定子字符串。
#include <cstring>
#include <algorithm>
bool isPartof(const char *key, const char *search)
{
const char *searchEnd = search + std::strlen(search);
return std::search(search, searchEnd, key, key + std::strlen(key)) != searchEnd;
}