Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c++ > #15558

Re: Search and replace c-style strings in c++

From Ian Collins <ian-news@hotmail.com>
Newsgroups comp.lang.c++
Subject Re: Search and replace c-style strings in c++
Date 2012-04-25 11:16 +1200
Message-ID <9voqibFi68U4@mid.individual.net> (permalink)
References <5232b65f-cd4e-436e-aa07-d5e5696aac46@21g2000vbh.googlegroups.com>

Show all headers | View raw


On 04/25/12 11:06 AM, Mike Semko wrote:
> I am trying to write a function that takes three c-style strings, and
> returns a c-style string. This function searches a c-string for all
> occurrences of the sub-string and replaces them with a different
> string.
> This program works but seems very inelegant. I can't help the feeling
> like it could have been done in a less bulky way.
>
>
> #include<iostream>
> #include<cstring>
>
> using namespace std;
>
> int main()
> {
>
> char* replaceSubstring(char*,char*,char*);
>
> char *string1, *string2, *string3;
> string1 = "the dog jumped over the fence";
> string2 = "the";
> string3 = "that";

These should be const char*, not char*.

> cout<<  replaceSubstring(string1,string2,string3);
>
> }
>
>
> char* replaceSubstring(char *original, char *from, char *to)
> {

to and from should be const.

<snip>
>
> Would anyone have any suggestions on how to make this code clearer and/
> or more efficient ? Any comments are welcome. Please do not suggest to
> use class string instead. That is not an option. The function must
> work with c-strings.

Use std::string internally and copy the result to a C style string.

-- 
Ian Collins

Back to comp.lang.c++ | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Search and replace c-style strings in c++ Mike Semko <msemko@gmail.com> - 2012-04-24 16:06 -0700
  Re: Search and replace c-style strings in c++ Ian Collins <ian-news@hotmail.com> - 2012-04-25 11:16 +1200
    Re: Search and replace c-style strings in c++ Mike Semko <msemko@gmail.com> - 2012-04-24 16:38 -0700
      Re: Search and replace c-style strings in c++ Ian Collins <ian-news@hotmail.com> - 2012-04-25 12:08 +1200
        Re: Search and replace c-style strings in c++ Mike Semko <msemko@gmail.com> - 2012-04-24 17:32 -0700
          Re: Search and replace c-style strings in c++ Ian Collins <ian-news@hotmail.com> - 2012-04-25 12:35 +1200
            Re: Search and replace c-style strings in c++ Mike Semko <msemko@gmail.com> - 2012-04-24 17:45 -0700
              Re: Search and replace c-style strings in c++ Old Wolf <oldwolf@inspire.net.nz> - 2012-05-06 22:50 -0700
      Re: Search and replace c-style strings in c++ Paavo Helde <myfirstname@osa.pri.ee> - 2012-04-24 22:58 -0500
  Re: Search and replace c-style strings in c++ scott@slp53.sl.home (Scott Lurndal) - 2012-04-25 00:00 +0000
    Re: Search and replace c-style strings in c++ Ian Collins <ian-news@hotmail.com> - 2012-04-25 12:11 +1200
      Re: Search and replace c-style strings in c++ scott@slp53.sl.home (Scott Lurndal) - 2012-04-25 14:51 +0000
        Re: Search and replace c-style strings in c++ Juha Nieminen <nospam@thanks.invalid> - 2012-04-26 07:52 +0000
          Re: Search and replace c-style strings in c++ yatremblay@bel1lin202.(none) (Yannick Tremblay) - 2012-04-26 10:47 +0000
            Re: Search and replace c-style strings in c++ Juha Nieminen <nospam@thanks.invalid> - 2012-04-26 11:04 +0000
            Re: Search and replace c-style strings in c++ Tobias Müller <troplin@bluewin.ch> - 2012-04-26 18:43 +0000
              Re: Search and replace c-style strings in c++ Miles Bader <miles@gnu.org> - 2012-04-27 05:40 +0900
    Re: Search and replace c-style strings in c++ Miles Bader <miles@gnu.org> - 2012-04-25 10:28 +0900
  Re: Search and replace c-style strings in c++ Pavel <pauldontspamtolk@removeyourself.dontspam.yahoo> - 2012-04-26 23:50 -0400
    Re: Search and replace c-style strings in c++ Pavel <pauldontspamtolk@removeyourself.dontspam.yahoo> - 2012-04-28 09:46 -0400
  Re: Search and replace c-style strings in c++ "Miquel van Smoorenburg" <miquels@netscum.invalid> - 2012-05-06 20:03 +0000

csiph-web