Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C中的字符串查找_C_String - Fatal编程技术网

C中的字符串查找

C中的字符串查找,c,string,C,String,我需要做的是找到某个字符串的位置,然后只保留后面的字符串 伪代码: string1 = "CDSDC::walrus" string2 = "::" string3 = (substr( string1, strfind(string1, string2) + 2 )) // +2 being the len of str2 // at this point I want string3 == "walrus" 做你想做的事。即定位子字符串 const char * strstr ( cons

我需要做的是找到某个字符串的位置,然后只保留后面的字符串

伪代码:

string1 = "CDSDC::walrus"
string2 = "::"
string3 = (substr( string1, strfind(string1, string2) + 2 )) // +2 being the len of str2
// at this point I want string3 == "walrus"
做你想做的事。即定位子字符串

const char * strstr ( const char * str1, const char * str2 );
返回指向str1中第一个出现的str2的指针或null 如果str2不是str1的一部分,则为指针

以你为例,

char *string3 = strstr(string1,"walrus")
strtok(string1, "::");
string3 = strtok(NULL,"::")
或者,如果您想根据分隔符将字符串拆分为标记,如
::
use可以使用

将字符串拆分为令牌

对该函数的一系列调用将str拆分为标记,这些标记是 由任意字符分隔的连续字符序列 它们是分隔符的一部分

以你为例,

char *string3 = strstr(string1,"walrus")
strtok(string1, "::");
string3 = strtok(NULL,"::")

strtok
是一个棘手的函数,因为它会修改正在标记的字符串,并且不会重新生成。下面是一个关于使用strtok的整体说明。很高兴,我能帮上忙!