首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何检查一个字符串是否以C中的另一个字符串开头?

如何检查一个字符串是否以C中的另一个字符串开头?
EN

Stack Overflow用户
提问于 2018-05-17 04:39:23
回答 2查看 0关注 0票数 0

有什么像startsWith(str_a, str_b)在标准C库里?

它应该使用指向以空字节结尾的两个字符串的指针,并告诉我第一个字符串是否也完全出现在第二个字符串的开头。

例子:

代码语言:txt
复制
"abc", "abcdef" -> true
"abcdef", "abc" -> false
"abd", "abdcef" -> true
"abc", "abc"    -> true
EN

回答 2

Stack Overflow用户

发布于 2018-05-17 13:27:25

显然,这里没有标准的C函数。因此:

代码语言:txt
复制
bool startsWith(const char *pre, const char *str)
{
    size_t lenpre = strlen(pre),
           lenstr = strlen(str);
    return lenstr < lenpre ? false : strncmp(pre, str, lenpre) == 0;
}
票数 0
EN

Stack Overflow用户

发布于 2018-05-17 14:22:17

没有标准的函数,但是可以定义

代码语言:txt
复制
bool prefix(const char *pre, const char *str)
{
    return strncmp(pre, str, strlen(pre)) == 0;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100004099

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档