Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > проблема с ifstream ом


Автор: knut 2.5.2007, 17:57
Добрый день.
Вопрос.
в чем дело почему не могу записать строку в strign из фаила?

Код

std::ifstream file(pFileName);
if(file)
     {
       while(!file.eof())
    {
       std::string str_value;
                   file>>str_value;
                   // а вот если стринг заменить на массив 
                  //  char array[size];
                 //..
                //  file>> array то проблем нет
      }
}


Автор: Rockie 2.5.2007, 18:07
knut,  
Код

#include<string>

есть?


Автор: knut 2.5.2007, 18:09
да есть.

Автор: WERITAS 2.5.2007, 18:18
Возможно потому что формат записи другой. Ты в файл что записал? Стринговую строку? 
По-моему, стринговая строка пишет перед началом кол-во символов (вроде бы там 4 байта). 
Попробуй объявить чаровский массив, считать из файла в массив, а потом присовить этот массив стрингу.

Автор: Xenon 2.5.2007, 19:06
Должно работать. Приведи код ошибки.

Автор: Rockie 2.5.2007, 21:44
knut, возможно проблема в области видимости str_value, она каждый раз пересоздается в цикле и предыдущее значение теряется.  smile 

p.s.: это в продолжение сеанса телепатии smile


Автор: Xenon 2.5.2007, 21:50
Rockie, вот именно - телепатия smile
По сути-то должно работать. Просто может быть это "не работает" в данном случае не ошибка компилятора - тогда мы точно тут до посинения гадать будем smile

Автор: WERITAS 3.5.2007, 03:15
Блин, аффтар... "Не работает" == "не компилируется" ???

Автор: knut 3.5.2007, 09:00
Всем спасибо косяк исправелsmile

Автор: Rockie 3.5.2007, 12:27
knut, в чем была ошибка, каким образом исправил?))


Автор: knut 3.5.2007, 13:08
Rockie, 
просто заменил строку  на 
Цитата

file>>str_value; ->stream.open(pFileName); и перестал паритсяsmile


Добавлено через 5 минут и 22 секунды
а ошибка была 
в  этой строке
Цитата

stream(pFileName);

Цитата

term does not evaluate to a function taking 1 arguments


Добавлено через 6 минут и 26 секунд
file>>str_value тут не причем здесь все в норме

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)