Latest Tutorials| Questions and Answers|Ask Questions?|Site Map



Home C-tutorials C Replace String

Related Tutorials


 
 

Share on Google+Share on Google+

C Replace String

Advertisement
Here a function pointer replace is created in which variables st, orig, repl of pointer type are declared.

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:

REPLACES.C

#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);  
  buffer[ch-st0;
  sprintf(buffer+(ch-st)"%s%s", repl, ch+strlen(orig));
  return buffer;
  }
void main() {
  puts(replace("Hello world!""world""India"));
  getch();
}

Output will be displayed as:

REPLACES.EXE

Download Source Code:

Advertisements

If you enjoyed this post then why not add us on Google+? Add us to your Circles



Liked it!  Share this Tutorial


Follow us on Twitter, or add us on Facebook or Google Plus to keep you updated with the recent trends of Java and other open source platforms.

Posted on: February 6, 2009

Related Tutorials

Discuss: C Replace String  

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 
Comments:5
Mahesh
September 27, 2011
Hi

Very Useful tips
luqman
November 16, 2011
How to replace string more than once appears ?

I try code above, but that's just replace one pattern. If any other patern occure, that will not replace it.....
sudhira
June 8, 2012
c

write a c program to change the every word "ramesh "into "manesh"......
Sudher
December 19, 2012
This will fail in some cases

If input is "hello world this is world", "world", "india" then only first 'world' will be replaced
Mike
November 30, 2012
Poor programming

- assumes that the string has a maximum length of 4k after replacement - doesn't address the case of several occurences of the string - the result is a pointer to a static location: not to be used in multithreaded environment, and needs to copy the result if you call the function several times. - obscure programming of the test Yuck
DMCA.com