ok, here's my problem. i can write to a file just great. it formats it exactaly how i want it to. the problem is that i can't read from a file. everytime i try to read from a file and i want something other than a char array, it doesn't read correctly, and with my current reading system it won't read correctly for even that. can i get a few pointers?
i'm confident that this is where my problem is.
but i don't know what i need to change.Code:
char inName[100]; // name of the food
int inCategory; // what kind of food
float inCalories; // calories
float inCarbohydrates; // grams
float inFat; // grams
float inCholesterol; // grams
float inSodium; // grams
float inProtein; // grams
ifstream in("data.txt");
counter = 0;
while(in.peek() != EOF)
{
in.getline(inName, 100, '~');
inCategory = (int)in.get();
inCalories = (float)in.get();
inCarbohydrates = (float)in.get();
inFat = (float)in.get();
inCholesterol = (float)in.get();
inSodium = (float)in.get();
inProtein = (float)in.get();
data[counter].setname(inName);
data[counter].setcategory(Category(inCategory));
data[counter].setcalories(inCalories);
data[counter].setcarbohydrates(inCarbohydrates);
data[counter].setfat(inFat);
data[counter].setcholesterol(inCholesterol);
data[counter].setsodium(inSodium);
data[counter].setprotein(inProtein);
counter++;
}
in.close();
this is what is in data.txt
the goal is to get it to read until the tild, and made that the name, then read the next number, make that the food group, red next number, make that the calories, etc etc.Quote:
Multi grain bread~6 90 16 0 .5 .125 4
thanks for taking the time to view my thread :)