加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

字符串在C中查找

发布时间:2020-12-16 10:54:56 所属栏目:百科 来源:网络整理
导读:我需要做的是找到某个字符串所处的位置,并且只保留之后的内容. 伪代码: string1 = "CDSDC::walrus"string2 = "::"string3 = (substr( string1,strfind(string1,string2) + 2 )) // +2 being the len of str2// at this point I want string3 == "walrus" 解
我需要做的是找到某个字符串所处的位置,并且只保留之后的内容.

伪代码:

string1 = "CDSDC::walrus"
string2 = "::"
string3 = (substr( string1,strfind(string1,string2) + 2 )) // +2 being the len of str2
// at this point I want string3 == "walrus"

解决方法

strstr做你想要的.即定位子串.

const char * strstr ( const char * str1,const char * str2 );

Returns a pointer to the first occurrence of str2 in str1,or a null
pointer if str2 is not part of str1.

以你为例,

char *string3 = strstr(string1,"walrus")

或者,如果您想基于分隔符将字符串拆分为标记,例如:: use可以使用strtok

char * strtok ( char * str,const char * delimiters );

将字符串拆分为标记

A sequence of calls to this function split str into tokens,which are
sequences of contiguous characters separated by any of the characters
that are part of delimiters.

以你为例,

strtok(string1,"::");
string3 = strtok(NULL,"::")

strtok是一个棘手的功能,因为它修改了你正在标记的字符串,也不是re-rentrant.这是nice article解释使用strtok的整体方面

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读