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.