Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   C++ (http://www.velocityreviews.com/forums/f39-c.html)
-   -   load a txt file and linked list (http://www.velocityreviews.com/forums/t285281-load-a-txt-file-and-linked-list.html)

Kay 08-29-2004 11:50 AM

load a txt file and linked list
 
1) If i want to read data from a txt file,
eg John; 23; a
Mary; 16; i
How can I read the above data stopping reading b4 each semi-colon and
save it in three different variables ?

2) If I enter a number, can I use to call a particular node ?
eg enter a number: 3
calling node of number 3
is it possible ?


lallous 08-29-2004 04:47 PM

Re: load a txt file and linked list
 
Hello,

"Kay" <ericjo92003@yahoo.com.hk> wrote in message
news:4131C312.4070402@yahoo.com.hk...
> 1) If i want to read data from a txt file,
> eg John; 23; a
> Mary; 16; i
> How can I read the above data stopping reading b4 each semi-colon and
> save it in three different variables ?
>
> 2) If I enter a number, can I use to call a particular node ?
> eg enter a number: 3
> calling node of number 3
> is it possible ?
>


Please refer to:
1)File Streams
2)fstream.getline()
3)possibly <vector> to store variables

Your second question is not clear.

Hope that helps,
Elias



Jon Bell 08-29-2004 06:55 PM

Re: load a txt file and linked list
 
In article <4131C312.4070402@yahoo.com.hk>,
Kay <ericjo92003@yahoo.com.hk> wrote:
>1) If i want to read data from a txt file,
>eg John; 23; a
> Mary; 16; i
>How can I read the above data stopping reading b4 each semi-colon and
>save it in three different variables ?


getline() is normally used for reading an entire line, terminated by a
newline, but you can specify any terminator you like. So, to read the
first item (which looks like a name), you can do this (not a complete
program):

#include <ifstream>
#include <string>

using namespace std;

string name;

getline (infile, name, ';');

The next input operation resumes with the first character after the
';'. Therefore, you can read the rest of the data into separate strings
by repeating this trick as necessary, using the default terminator for the
last iten at the end of the line.

You probably want the numeric data (age?) to be an int instead of a
string. You can either convert the string that getline() gives you, into
an int by various techniques, or you can read it into an int in the first
place by taking some care:

string name;
int age;

getline (infile, name, ';');
infile >> age; // stops at the following ';'
infile.ignore (1000,';'); // skip past the ';'

Reading a single char also skips past the ';', but only if you can
guarantee that there's no extra whitespace between the number and the
semicolon.

--
Jon Bell <jtbellm4h@presby.edu> Presbyterian College
Dept. of Physics and Computer Science Clinton, South Carolina USA


All times are GMT. The time now is 05:36 AM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.