首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在c中使用substring函数?

问如何在c中使用substring函数?
EN

Stack Overflow用户
提问于 2012-05-10 16:20:34
回答 7查看 33.8K关注 0票数 7

我有一个字符串,我希望它的子字符串从第5个位置到最后一个位置。我应该使用哪个函数?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2012-05-10 16:25:38

您可以使用string.h头文件中的memcpy()函数。

memcpy()在内存块之间复制字节数据,有时称为缓冲区。这个函数并不关心要复制的数据的类型--它只是进行精确的逐字节复制。函数原型是

代码语言:javascript
复制
void *memcpy(void *dest, void *src, size_t count);

参数dest和src分别指向目标和源内存块。count指定要复制的字节数。返回值为dest。

如果这两个内存块重叠,则函数可能无法正常运行-- src中的一些数据可能会在被复制之前被覆盖。使用下面讨论的memmove()函数来处理重叠的内存块。memcpy()将在下面的程序中演示。

您还可以在此处找到这些函数的示例:http://www.java-samples.com/showtutorial.php?tutorialid=591

票数 6
EN

Stack Overflow用户

发布于 2012-05-10 16:22:55

如果您不打算将原始字符串用于任何其他用途,则可以直接使用&s[4]。如果您需要副本,请执行以下操作

代码语言:javascript
复制
char new_str[STR_SIZE + 1] = {0};
strncpy(new_str, &s[4], STR_SIZE);
票数 6
EN

Stack Overflow用户

发布于 2012-05-10 16:45:03

如果您知道字符串中的字符,那么您可以使用strstr函数获取子字符串。它定位子字符串。但是,如果您不知道要从何处检索字符,则可以使用strcpy或strncpy来获取字符串,就像Eric提到的那样。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10530064

复制
相关文章

相似问题

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