![]() |
C++ file problems
Hi there all you clever clever programmers.
I am a university student who's currently face deep in a group project to create a program to control and display information from our flight simulator. I am personally am in charge of drawing the pretty maps of aircraft position, runway position etc. Now over this weekend I have been coding my little heart out making a lovely section of code that reads in various data from 2 files, one to do with navigation beacons and one to do with runways. But i have hit a stumbling block, my seperate functions to read in the data from each file work perfectly : ON THEIR OWN. For some reason when i run one of these functions (both of which use an 'ifstream' object called 'infile' ; start with 'infile.open("beacons.txt");' and end with 'infile.close();') before the other the second time i try to use infile.open it ends up lumping me with a get()pointer position of '-1' ! Does anyone have any clues why? |
Re: C++ file problems
Pete wrote:
> Hi there all you clever clever programmers. > I am a university student who's currently face deep in a group project > to create a program to control and display information from our flight > simulator. I am personally am in charge of drawing the pretty maps of > aircraft position, runway position etc. > > Now over this weekend I have been coding my little heart out making a > lovely section of code that reads in various data from 2 files, one to > do with navigation beacons and one to do with runways. > But i have hit a stumbling block, my seperate functions to read in the > data from each file work perfectly : ON THEIR OWN. For some reason when > i run one of these functions (both of which use an 'ifstream' object > called 'infile' ; start with 'infile.open("beacons.txt");' and end with > 'infile.close();') before the other the second time i try to use > infile.open it ends up lumping me with a get()pointer position of '-1' > ! Does anyone have any clues why? Do both use the same stream object? If yes, you must first reset the stream's state, because if it has reached the end of file, your eof bit will still be set after closing and re-opening. Alternatively, just use an own ifstream for each of your functions. |
Re: C++ file problems
Hi,
I am not completely sure, but I think you probably tried to read past end of file in the first one after which the error bit is set. Using then the same on the second still leaves the object in an error condition. Usually it is nicer to use two different objects. Regards, Ron AF Greve http://moonlit.xs4all.nl "Pete" <pistol__pete@hotmail.com> wrote in message news:1143385054.777125.199050@t31g2000cwb.googlegr oups.com... > Hi there all you clever clever programmers. > I am a university student who's currently face deep in a group project > to create a program to control and display information from our flight > simulator. I am personally am in charge of drawing the pretty maps of > aircraft position, runway position etc. > > Now over this weekend I have been coding my little heart out making a > lovely section of code that reads in various data from 2 files, one to > do with navigation beacons and one to do with runways. > But i have hit a stumbling block, my seperate functions to read in the > data from each file work perfectly : ON THEIR OWN. For some reason when > i run one of these functions (both of which use an 'ifstream' object > called 'infile' ; start with 'infile.open("beacons.txt");' and end with > 'infile.close();') before the other the second time i try to use > infile.open it ends up lumping me with a get()pointer position of '-1' > ! Does anyone have any clues why? > |
Re: C++ file problems
Thanks a bunch for your advice.
Yes both do use the same object and unfortunately both have to use the same stream object and unfortunately they have to beacause they both share the functions for extracting the names, Latitudes and Longitudes of the beacons (i suppose i could seperate them but i like the simplicity of the previous method) |
Re: C++ file problems
Pete wrote:
> Thanks a bunch for your advice. > Yes both do use the same object and unfortunately both have to use the > same stream object and unfortunately they have to beacause they both > share the functions for extracting the names, Latitudes and Longitudes > of the beacons (i suppose i could seperate them but i like the > simplicity of the previous method) Actually, I'd say it's simpler to create the stream within the function as local variable. Anyway, you can reset the stream's state with infile.clear(). |
| All times are GMT. The time now is 02:03 PM. |
Powered by vBulletin®. Copyright ©2000 - 2013, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.