информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Все любят медПортрет посетителяСтрашный баг в Windows
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Крупный взлом GoDaddy 
 Просроченный сертификат ломает... 
 Phrack #70/0x46 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Можно и поспорить :-) 22.10.02 17:37  Число просмотров: 1070
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> если закладываешься на размер строки, то смотри мой первый
> ответ

Если уж совсем не делать предположений о длине строки, то в STL-е getline перегружается и так:

template<class _E, class _Tr, class _A> inline
    basic_istream<_E, _Tr>& __cdecl getline(basic_istream<_E, _Tr>& _I,
        basic_string<_E, _Tr, _A>& _X, const _E _D)
{
// skipped
}

---
Взято из VC++ 6.0 STL-а, так что названия переменных интуитивно понятные :-). А string как известно сам заботится о размещении и увеличении строки.
Короче можно и так:

using namespace std;
string s;
ifstream is("filename.ext");
getline(is, s, ';');

---

> а если хочешь поспорить у кого в этом случае универсальнее,
> то вот пример:
> c:\windows\logo.bmp
> c:\windows\logo.bmp;10.10.2002

Насколько я вообще понимаю в разборе форматированных данных, формат не меняется во всем файле. Иначе нужно вообще брать flex с bison-ом и писать парсер :-)))

А вот понятность и сопровождаемость моего варинта выше.

ЗЫ: Кстати, в данном случае в плане эффективности flex - идеальное решение. Быстрее вряд ли можно написать.

Бест Регардс,
Сергей
<programming> Поиск 








Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2021 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach