Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/70.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
使用strncmp c风格的字符串函数_C_C Strings_Strncmp - Fatal编程技术网

使用strncmp c风格的字符串函数

使用strncmp c风格的字符串函数,c,c-strings,strncmp,C,C Strings,Strncmp,我有一个字符串,我试图找出它是否是另一个单词中的子字符串 例如(伪代码) 这是否可能使用strncmp?不直接使用strncmp,但您可以使用strstrstr: char s1[] = "happy"; char *pos = strstr(s1, "pp"); if(pos != NULL) memcpy(pos, "xx", 2); 这仅在搜索字符串和替换字符串长度相同时有效。如果没有,则必须使用memmove,并可能分配更大的字符串来存储结果。不能直接使用strncmp,但可

我有一个字符串,我试图找出它是否是另一个单词中的子字符串

例如(伪代码)


这是否可能使用strncmp?

不直接使用
strncmp
,但您可以使用
strstrstr

char s1[] = "happy";

char *pos = strstr(s1, "pp");
if(pos != NULL)
    memcpy(pos, "xx", 2);

这仅在搜索字符串和替换字符串长度相同时有效。如果没有,则必须使用
memmove
,并可能分配更大的字符串来存储结果。

不能直接使用
strncmp
,但可以使用
strstr

char s1[] = "happy";

char *pos = strstr(s1, "pp");
if(pos != NULL)
    memcpy(pos, "xx", 2);

这仅在搜索字符串和替换字符串长度相同时有效。如果没有,则必须使用
memmove
,并可能分配更大的字符串来存储结果。

不使用strncmp。你需要,即


不是用strncmp。你需要,即


谢谢!!!在我上学期学习了这么多之后,我似乎还有很多事情要做。我从未使用过strstr,也没有使用过memcpy。再次感谢。完全可以使用
strncmp
来实现这一点-使用strstrstr更容易,但那是另一回事。值得注意的是:即使这些是字符串,我们也不使用
strcpy
,因为这是为了复制整个字符串(包括它们的空终止符)。非常感谢!!!在我上学期学习了这么多之后,我似乎还有很多事情要做。我从未使用过strstr,也没有使用过memcpy。再次感谢。完全可以使用
strncmp
来实现这一点-使用strstrstr更容易,但那是另一回事。值得注意的是:即使这些是字符串,我们也不使用
strcpy
,因为这是为了复制整个字符串(包括它们的空终止符)。详细说明:您可以在输入字符串上使用循环,并在每个位置使用
strncmp
,以查看是否有匹配项。与
strstr
解决方案相比,它的代码稍微多一些,但它会起作用。详细说明:您可以在输入字符串上使用循环,并在每个位置使用
strncmp
,以查看是否有匹配项。它比strstr
str
解决方案的代码要多一点,但它可以工作。
char happy = "happy";
char *s = strstr(happy, "pp");
if (s) memcpy(s, "xx", 2);