[英]Obtaining a substring from the parent string
我收到一个数组
char arry[] ="TestINeedHelp";
我对从第5个字符开始的arry
感兴趣。 字符串的总长度和内容可能有所不同,但从5字符开始我一直很感兴趣。
如何隔离这部分?
你可以写类似
char * p = (char *)arry + 4;
然后,您可以在情况下使用p
。
另外,另一种方法是使用strcpy()
/ strncpy()
例如[假设p
已分配]
strcpy(p,&array[4]);
strcpy(subString,array+4);
array+4
指向array+4
中的第5个元素
最好的方法是将您需要做的“事情”包含在一个函数中:
void process_substring(const char *s)
{
}
然后从其他上下文中调用该函数,并向其传递一个指向从第五个字符开始的子字符串的指针:
if(strlen(arry) >= 5)
process_substring(&arry[4]);
我添加了代码,以确保在尝试访问子字符串之前arry
至少有五个字符。
表达式&arry[4]
意思是“采用索引4处的字符地址”,这是第五个字符。 由于该字符位于字符串中,因此其地址将充当以该字符开头的字符串的地址。
我没有处理arry
范围/终身问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.