次のことをどのように行うべきかを理解するのに苦労しています:
次のように定義された単語のリストがあります。
typedef struct _StringNode {
char *str;
struct _StringNode* next;
} StringNode;
ここで、文字列と同じ長さの 2 つの単語リストを受け取る関数を作成する必要があります。また、文字列の最初のリストからの単語のすべての出現を、2 番目のリストからの対応する単語に置き換える必要があります。
例:
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);