Connecting Tech Pros Worldwide Help | Site Map

C++ Class to do File Text Based Operations

 
LinkBack Thread Tools Search this Thread
  #1  
Old July 23rd, 2005, 04:52 AM
anand
Guest
 
Posts: n/a
Default C++ Class to do File Text Based Operations

Hi,

I am looking for a possible C++ File class that allows to do standard
"Perl Like" operations on structured data files in ASCII text.

For example:

1) Get the first and third fields from each line into a string obj
2) Get ALL "words" in a "line" of the file

etc...

Basically, anything you would be able to do from a Perl script, but
thru C++. I am looking to use it in my program and I know there are
better programmers than me out there, so I thought I will check first!

THanks in advance!
Anand


[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]


  #2  
Old July 23rd, 2005, 04:53 AM
Ivan Vecerina
Guest
 
Posts: n/a
Default Re: C++ Class to do File Text Based Operations

"anand" <writeanand@gmail.com> wrote in message
news:1117219856.432064.291670@f14g2000cwb.googlegr oups.com...[color=blue]
> I am looking for a possible C++ File class that allows to do standard
> "Perl Like" operations on structured data files in ASCII text.
>
> For example:
>
> 1) Get the first and third fields from each line into a string obj
> 2) Get ALL "words" in a "line" of the file
>
> etc...
>
> Basically, anything you would be able to do from a Perl script, but
> thru C++. I am looking to use it in my program and I know there are
> better programmers than me out there, so I thought I will check first![/color]

The two operations above can be written with a standard C++ istream.
But you may want to consider using a regular expressions library
for C++. Such as boost::regex http://www.boost.org/libs/regex/doc/.


Ivan

NB: it is often redundant to post to both clc++ and clc++.moderated.
If you're concerned by off-topic replies/threads, use the moderated group.
If you want a quicker answer, clc++ is usually best.
But posting to both NGs usually will delay the appearance of your
post and reply on clc++ as well.

--
http://ivan.vecerina.com/contact/?subject=NG_POST <- email contact form
Brainbench MVP for C++ <> http://www.brainbench.com


  #3  
Old July 23rd, 2005, 04:53 AM
Julián Albo
Guest
 
Posts: n/a
Default Re: C++ Class to do File Text Based Operations

anand wrote:
[color=blue]
> Basically, anything you would be able to do from a Perl script, but
> thru C++.[/color]

That will be very difficult. You need to implement a C++ version of all
modules in CPAN, at least.

If you want to use all Perl machinery, the easiest way will be to embed perl
in your program.

--
Salu2


[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

  #4  
Old July 23rd, 2005, 04:55 AM
Jeff Flinn
Guest
 
Posts: n/a
Default Re: C++ Class to do File Text Based Operations


"anand" <writeanand@gmail.com> wrote in message
news:1117219856.432064.291670@f14g2000cwb.googlegr oups.com...[color=blue]
> Hi,
>
> I am looking for a possible C++ File class that allows to do standard
> "Perl Like" operations on structured data files in ASCII text.
>
> For example:
>
> 1) Get the first and third fields from each line into a string obj
> 2) Get ALL "words" in a "line" of the file
>
> etc...
>
> Basically, anything you would be able to do from a Perl script, but
> thru C++. I am looking to use it in my program and I know there are
> better programmers than me out there, so I thought I will check first![/color]

Check out:

http://www.boost.org/libs/regex/doc/index.html

http://www.boost.org/libs/spirit/index.html

http://www.boost.org/doc/html/string_algo.html

http://www.boost.org/libs/filesystem/doc/index.htm

I'm totally unfamiliar with Perl, but the above libraries offer powerful C++
text and filesystem processing.

Jeff Flinn



[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

  #5  
Old July 23rd, 2005, 04:56 AM
Billy Patton
Guest
 
Posts: n/a
Default Re: C++ Class to do File Text Based Operations

On Sat, 28 May 2005, anand wrote:
[color=blue]
> Hi,
>
> I am looking for a possible C++ File class that allows to do standard
> "Perl Like" operations on structured data files in ASCII text.
>
> For example:
>
> 1) Get the first and third fields from each line into a string obj
> 2) Get ALL "words" in a "line" of the file
>
> etc...
>
> Basically, anything you would be able to do from a Perl script, but
> thru C++. I am looking to use it in my program and I know there are
> better programmers than me out there, so I thought I will check first!
>
> THanks in advance!
> Anand[/color]

Couple of functions I wrote do do just what you ask. Excep no regular
expressions. THere is a split and a sub. You could extend these to use pcre
lib and get the location of a regular expression. I just haven't carried it
that far YET :)

#include <string>
#include <sstream>
#include <locale>

bool StrSplit(const string in,char delim,vector<string>& out)
{
if (in.empty()) return false;
istringstream iss(in);
string token;
out.clear();
while(getline(iss, token, delim))
out.push_back(token);
return true;
}

bool StrSub(string& cp,string sub_this,string for_this,int num_times)
{
int i,loc;
if (cp.empty())
{
cp = sub_this;
return true;
}
if (for_this.empty()) return false;
for (i = 0; i NE num_times; i++)
{
loc = cp.find(for_this,0);
if (loc GE 0) cp.replace(loc,for_this.length(),sub_this);
else return true;
}
return true;
}

___ _ ____ ___ __ __
/ _ )(_) / /_ __ / _ \___ _/ /_/ /____ ___
/ _ / / / / // / / ___/ _ `/ __/ __/ _ \/ _ \
/____/_/_/_/\_, / /_/ \_,_/\__/\__/\___/_//_/
/___/
Texas Instruments ASIC Circuit Design Methodology Group
Dallas, Texas, 214-480-4455, b-patton@ti.com

[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

 

Bookmarks

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Popular Articles

What is Bytes?

We are a network of experts and professionals in IT and software development that help one another with answers to tough questions and share insights. Get the best answers to your questions from over 220,662 network members.