学堂 学堂 学堂公众号手机端

在C语言中,没有内置的strreplace函数来替换字符串中的子字符串

lewis 2年前 (2024-01-14) 阅读数 5 #技术

在C语言中,没有内置的strreplace函数来替换字符串中的子字符串。您需要自己编写一个函数来实现这个功能。以下是一个示例函数来替换字符串中的子字符串:

#include<stdio.h> #include<string.h> voidstrreplace(char*str,constchar*sub,constchar*replace){ charresult[1000]; char*p=strstr(str,sub); if(p==NULL){ return; } strncpy(result,str,p-str); result[p-str]='\0'; sprintf(result+(p-str),"%s%s",replace,p+strlen(sub)); strcpy(str,result); } intmain(){ charstr[1000]="Hello,world!"; charsub[]="world"; charreplace[]="Cprogramming"; printf("Before:%s\n",str); strreplace(str,sub,replace); printf("After:%s\n",str); return0; }

在这个示例中,我们定义了一个strreplace函数来实现替换字符串中的子字符串的功能。在main函数中,我们首先打印出原始字符串,然后调用strreplace函数来替换"world"为"Cprogramming",最后打印出替换后的字符串。您可以根据需要修改字符串和子字符串来测试该函数。


版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门