Установил себе rh80 который содержит компилятор gcc3.2 и получил следующую проблему: при использовании потока fstream не находится конец файла. Вот этот простой фрагмент кода, который работал при компилировании gcc3.0.3 и раньше, вызывает ошибку сегментации при попытке выполнить getline за концом файла, так как не отслеживается конец файла - infile->eof() всегда возвращает false. std::fstream *infile = new std::fstream; infile->open( "/home/projects/proba-prj/Makefile", std::ios::in ); if( !(*infile) ) { std::cerr<<"Ошибка открытия файла"<<std::endl; exit(-1); } std::string textline; while ( !infile->eof()) { getline( *infile, textline); std::cout<<infile->eof()<<std::endl; std::cout<<infile->good()<<std::endl; std::cout<<infile->bad()<<std::endl; std::cout<<infile->fail()<<std::endl; } } Что с этим делать? Может они что-то изменили, а я об этом не знаю?
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум std::getline (2005)
- Форум gcc2.96 и gcc3.2 (2003)
- Форум gcc3.2 and xeon (2003)