我有一个字符串,我试图找出它是否是另一个字的子字符串。
例如(伪代码)
say I have string "pp"
and I want to compare it (using strncmp) to
happy
apples
pizza
and if it finds a match it'll replace the "pp" with "xx"
changing the words to
haxxles
axxles
pizza
这可以使用strncmp吗?
答案 0 :(得分:4)
不直接使用strncmp
,但您可以使用strstr
执行此操作:
char s1[] = "happy";
char *pos = strstr(s1, "pp");
if(pos != NULL)
memcpy(pos, "xx", 2);
仅当搜索和替换字符串的长度相同时才有效。如果不是,则必须使用memmove
并可能分配更大的字符串来存储结果。
答案 1 :(得分:1)
不是strncmp。你需要strstr,即
char happy = "happy";
char *s = strstr(happy, "pp");
if (s) memcpy(s, "xx", 2);