布尔函数,将指向 C 字符串的指针作为参数/参数

bool function with pointers to C strings as arguments/parameters

本文关键字:参数 指针 字符串 函数 布尔      更新时间:2023-10-16

我有这个Uni作业(在C++中读取csv文件的一部分),我无法确切地理解我能做什么。其中一条指令是定义一个 C++ bool 函数,其中包含两个指向 C 字符串的指针作为参数。该函数检查第一个参数指针指向的字符串是否是第二个参数指针指向的字符串的一部分,并转动布尔值。像... function_name("婴儿","婴儿很可爱")返回 true,因为function_name("广播","今晚娱乐")返回 false。

可以使用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;
}

喜欢strstr?不同之处在于,标准库函数首先具有大海捞针,并返回指向第一个匹配项的指针,而不是布尔值。如果你可以使用标准库函数,那么你就可以用strstr来定义这个函数。否则,您可以遍历大海捞针,搜索针的第一个字符,对于第一个字符的每次出现,检查它是否开始出现整个针。