Re: ifstream problem?
On Feb 26, 11:11 pm, Victor Bazarov <v.Abaza...@comAcast.net> wrote:
kazik.lak...@gmail.com wrote:
could you help me with this stuff, it compiles fine, but
when starting the program there is segmentation fault. I
enclose a message from debugger:
----------
Program received signal SIGSEGV, Segmentation fault.
0x0000000000400ce0 in ReadInitialConditions (TabX=0x7fffb62f1880,
TabY=0x7fffb62f1480, TableSize=128, InitCondFile=@0x7fffb62f1c=
80)
at readprog.cpp:9
9 while(! InitCondFile.eof() ){
----------
This is the code:
#include <iostream>
#include <fstream>
using namespace std;
void ReadInitialConditions(double* TabX, double* TabY, int TableSize,
ifstream & InitCondFile){
int XorYCounter = 0;
int XYPairsCounter = 0;
if(InitCondFile.is_open()){
while(! InitCondFile.eof() ){
You should probably change this to
while( InitCondFile.good() ) {
In no case. Both are questionable. The idiomatic way of doing
this is:
double num ;
while ( InitCondFile >> num ) {
...
}
double num;
InitCondFile>>num;
Also make this a condition:
if (InitCondFile >> num) {
So why not move the condition up to the top of the loop, and be
done with it?
--
James Kanze (GABI Software) email:james.kanze@gmail.com
Conseils en informatique orient=E9e objet/
Beratung in objektorientierter Datenverarbeitung
9 place S=E9mard, 78210 St.-Cyr-l'=C9cole, France, +33 (0)1 30 23 00 34