   how to start loading from file at a certain string?
  Say that I have a data file and in that data file there is an image name that every thing usesthen there is names and after the anmes and need to load everything then stop at at certain stringI scan the data file for anything that starts with AnimNameand the next word after it gets loaded.then I want to go back and use the string it found and load all the info after it tell it runs into }exampleFile null.bmpAnimName BallSpin Left 0 <- start loadingRight 92Top 0Bottom 0Red 0Green 0Blue 0Delay 0Width 0FrameW 0}<- sees } and stops loadingAnimName BallExplode <- then when BallExplode string is slected the prosses Left 0  starts over   Right 92Top 0Bottom 0Red 0Green 0Blue 0Delay 0Width 0FrameW 0}I can parse the file find the strings and load the data I just can start at a sertin point and stop at another it just goes all the way though.   
  For a quick fix, assuming you're reading line by line, just place the '}' on it's own line - in this case under "FrameW 0".EDIT: ahh just realised your problem. Instead of retracing your steps, you may want to read everything from the file all at once.   ;  So how would I read in the whole file at once and keep every thing orginized?void parse(ifstream & fin){   string s;   int flt;   while (fin >> s)   {  //  if (s == SelString)    //{    //Image file name    if (s == "File" ) {   fin >> imageName; }  if (s == "Right") { fin >> ImRight; }    if (s == "Left") { fin >> flt; ImLeft = flt; }   //image hight  if (s == "Top") { fin>> flt; ImTop = flt; }  if (s == "Bottom") { fin>> flt; ImBottom = flt; }//image traspartne color for RGB if (s == "Red") {  fin >> flt; TC1 = flt; } //image traspartne color for RGB  if (s == "Green") { fin >> flt; TC2 = flt; } //image traspartne color for RGB  if (s == "Blue") { fin >> flt; TC3 = flt; } //Number of frames if (s == "#") { fin >> flt;  NumFrames = flt; }  //the delay time between framesif(s == "Delay") { fin >> flt; DTime = flt; }    //width of the whole image  if(s == "Width") { fin >> flt; ImWidth = flt; }   //width of frameif(s == "FrameW") { fin >> flt; FrWidth = flt; }//ignore ;  if (s == ";") { fin.ignore(std::numeric_limits<std::streamsize>::max(),'\n');  }  //ignore // else if (s == "/")  { fin.ignore(std::numeric_limits<std::streamsize>::max(),'\n');  } //ends the search else if (s == "}") { MessageBox(hwnd,"failed","Error",0); return; }// }   }}//loads animation type to drop down boxint AnimTypeLoader(ifstream & fin){string s;while (fin >> s)   {   //Animation number   if (s == "AnimName" ) {   fin >> FileName;   list1.push_back(FileName);//add to all iteams to list   }}//SendMessage(hwndCombo1, CB_RESETCONTENT, 0, 0); while (list1.size() > 0)//add{//addstring value = list1.front();//addSendMessage(hwndCombo1,CB_ADDSTRING , 2,(LPARAM)value.c_str()); list1.pop_front();//add}//addSendMessage(hwndCombo1,CB_SETCURSEL, 0,0);int nIndex = SendMessage( hwndCombo1 , CB_GETCURSEL, 0, 0 );SendMessage(hwndCombo1,CB_GETLBTEXT, nIndex,(LPARAM)SelString.c_str()); }that is how i read it in   ;  My issue is I need to load settings for each animation type. And when animation type is slected from the drop down box it will load the settings associated with that type.With that in mind should I use a struct to stor the dataoran array index of some sortif any one can think of a better way just let me know.