我编写了以下代码,目的是在字符串上使用指针算法来查找和替换目标子字符串.显然,它不优雅,但不幸的是它也是不正确的 - 它为字符串添加了无关的字符.
#include <stdio.h>
#include <string.h>
int main() {
char string[] = "The quick brown fox jumped over the lazy dog.";
char target[] = "brown"
char replacement[] = "ochre";
char segment[80+1];
char pre_segment[80+1];
char post_segment[80+1];
int S = strlen(string), T = strlen(target);
for (int i = 0; i < S; i++) {
strncpy(segment, string + i, T);
if (strcmp(segment, target) == 0) {
>>> strncpy(pre_segment, string, i); <<<
strncpy(post_segment, string + i + T,
S - (i + T)); …Run Code Online (Sandbox Code Playgroud)