![]() |
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 ? |
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 |
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 09:47 AM. |
Powered by vBulletin®. Copyright ©2000 - 2013, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.