在C語言中,可以使用strstr()
函數(shù)來找到指定字符串在目標(biāo)字符串中的位置,然后使用strcpy()
函數(shù)將新的字符串替換原有的字符串。
下面是一個示例代碼:
#include <stdio.h>
#include <string.h>
void replaceString(char *source, const char *find, const char *replace) {
char *found = strstr(source, find);
if (found) {
char newString[100]; //假設(shè)最大長度為100
strncpy(newString, source, found - source);
newString[found - source] = '\0';
strcat(newString, replace);
strcat(newString, found + strlen(find));
strcpy(source, newString);
}
}
int main() {
char str[] = "Hello, World!";
const char *find = "World";
const char *replace = "C Programming";
replaceString(str, find, replace);
printf("%s\n", str);
return 0;
}
在這個示例中,我們定義了replaceString()
函數(shù),該函數(shù)接受一個源字符串、要查找的字符串和要替換的字符串作為參數(shù)。通過strstr()
函數(shù)找到要替換的字符串在源字符串中的位置,然后使用strncpy()
和strcat()
函數(shù)構(gòu)建新的字符串,最后使用strcpy()
函數(shù)將新的字符串替換原有的字符串。
在main()
函數(shù)中,我們定義了一個源字符串str
,要查找的字符串find
和要替換的字符串replace
,然后調(diào)用replaceString()
函數(shù)來替換指定的字符串。最后打印出替換后的字符串。