gpt4 book ai didi

c - 按位置索引提取子串的库函数

转载 作者:太空宇宙 更新时间:2023-11-03 23:26:22 24 4
gpt4 key购买 nike

在 c 中,是否有一个标准库函数允许我通过指定字符串的起始索引和结束索引从给定字符串中提取子字符串。此外,子字符串在超字符串 i 中不是空终止的。 e,获得一个指向子字符串开头的简单指针不足以提取子字符串。

当然我可以写一个函数来做我想做的事,我只是想知道现有的库函数是否足以满足我的目的。

最佳答案

如果您使用的是 C,我也许可以假设您的字符串是 char *

在这种情况下,如果您知道开始和结束索引,您可以只memcpy 字符串的一部分到您的子字符串。

例如,这段代码将打印"str":

int main(int argc, const char *argv[])
{
const char *c = "the string";
char *start = &c[4];
char *end = &c[7];
// Note the + 1 here, to have a null terminated substring
char *substr = (char *)calloc(1, end - start + 1);
memcpy(substr, start, end - start);
printf("%s\n", substr);
return 0;
}

因此,给定一个字符串 c 和两个值 47,您可以获得从索引 4 开始的子字符串 并以索引 7 - 1 结束(这是“子字符串化”的正常语义,但您可以轻松更改此代码以包括 结束字符)。

关于c - 按位置索引提取子串的库函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26376396/

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