[an error occurred while processing this directive]

C Replace String


In this section, you will learn how to replace a string in C. 

Here a function pointer replace is created in which variables st, orig, repl of pointer type are declared. The st represents the string, orig represents the substring which is to be replaced and repl represents the replaced substring. The statement if(!(ch = strstr(st, orig))) checks, if the substring which is to be replaced from the string is not appeared in the string then it returns the string. Otherwise the statement strncpy(buffer, st, ch-st) copies the characters from st to ch-st up to the size of Buffer. You can see in the given example we have declare the string st Hello World and we are replacing the string world with India.

Here is the code:


#include <stdio.h>
#include <conio.h>
#include <string.h>

char *replace(char *st, char *orig, char *repl) {
  static char buffer[4096];
  char *ch;
  if (!(ch = strstr(st, orig)))
     return st;
    strncpy(buffer, st, ch-st);  
    sprintf(buffer+(ch-st)"%s%s", repl, ch+strlen(orig));
    return buffer;
void main() {
  puts(replace("Hello world!""world""India"));

Output will be displayed as:


Download Source Code:


[an error occurred while processing this directive]