我很难理解我应该如何执行以下操作:
我有一个这样定义的单词列表:
typedef struct _StringNode {
char *str;
struct _StringNode* next;
} StringNode;
现在我需要编写一个函数来接收一个字符串和两个相同长度的单词列表,并且我需要用第二个列表中的相应单词替换字符串中第一个列表中出现的每个单词。
例子:
text: "stack overflow siteoverflow oveflow stack"
patterns: [ "stack", "overflow", "site" ]
replacements: [ "Hello", "guys", "here" ]
result: "Hello guys hereguys guys Hello"
对于每个单词:我正在尝试使用strstr()
,因此我将获得一个指向字符串副本中出现的单词的指针,然后更改单词,并提升文本字符串副本的指针。
char* replace(const char *text,
const StringNode *patterns,
const StringNode *replacements);