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


Автор: Egeni 22.6.2010, 18:58
как построчно считывать адреса к файлам из файла adresslist.txt  и открывать каждый файл обрабатывая его функцией удаления символов?
adresslist.txt
Код

C:\1.txt
C:\work\simple.txt
C:\work\work.txt

Автор: bsa 22.6.2010, 20:24
Код
std::ifstream file("adresslist.txt");
std::string buffer;
while(std::getline(file, buffer)) {
   std::fstream f(buffer.c_str());
   if (f.is_open())
      func(f); //функция обработки
}

Автор: Peter 23.6.2010, 11:15
bsa, а разве std::getline() не прочитает символ перевода строки там, где он есть? Тогда, например, файл "C:\\1.txt\n" не откроется; надо бы считанную строку редактировать - удалять хотя бы заключительный символ перевода строки.

Автор: bsa 23.6.2010, 12:26
Цитата(http://cplusplus.com/reference/string/getline/)
If the delimiter is found, it is extracted and discarded, i.e. it is not stored and the next input operation will begin after it.

Автор: Egeni 4.7.2010, 18:40
Цитата



int main(void)(
std::ifstream file("adresslist.txt");
std::string buffer;
while(std::getline(file, buffer)) {
   std::fstream f(buffer.c_str());
   if (f.is_open())
      func(f); //функция обработки
}
}





4 `ifstream' is not a member of `std' 


видимо я чтото пропустил, выкидывает что то непонятное в ответ

Автор: kemiisto 4.7.2010, 18:55
Цитата(Egeni @  4.7.2010,  19:40 Найти цитируемый пост)
видимо я чтото пропустил, выкидывает что то непонятное в ответ 

Наверное, ты пропустил этап добавления нужных заголовочных файлов.

Автор: Egeni 4.7.2010, 19:15
как узнать что здесь используется, пробовал методом тыка не выходит...

Автор: kemiisto 4.7.2010, 19:50
Цитата(Egeni @  4.7.2010,  20:15 Найти цитируемый пост)
как узнать что здесь используется, пробовал методом тыка не выходит... 

А не надо тыкать. Надо открыть сайт google.com, забить в строку поиска ifstream, выбрать первую ссылку, посмотреть в правом углу имя нужного хидера. <fstream>

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