![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| En_t_end |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: 1 Всего: 20 |
Подскажите пожалуйста, потомки от istream(ifstream и cin) умеют ли считывать строку до '\n'. Допустим, когда файл имеет вид:
"некоторый масссив чаров" - далее следует перевод строки... "другая информация" - далее следует перевод строки... "следующий" - далее следует перевод строки... Но надо, чтобы считывание, допустим в char[] не прекращалось даже при обнаружении пробела( как это происходит при >>, ибо пробел - это один из разделителей по умолчанию), но прекращалось, при обнаружении '\n'. ЗЫ знаю вопрос тупой, но сколько не бился, не получалось такое сделать Корень, как мне кажется лежит в ::getline() - там надо как-то выставить параметры хитро, чтобы считывание в моем слуае прекращалось на '\n'. |
|||
|
||||
| Fixin |
|
|||
![]() Ёжик ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1357 Регистрация: 6.1.2004 Репутация: 2 Всего: 18 |
Самоделку проще сделать будет. ИМХО.
|
|||
|
||||
| En_t_end |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: 1 Всего: 20 |
Fixin
Проще то оно проще, да вот у меня уже в третьей программе такой глюк, надо же исправлять, там уже самоделку не сделать. Добавлено @ 17:31 Кстати using std::getline - на это у меня чего компилер ругается. Говорит, что getline членом std не является, но это наглая ложь А std::istream::getline() - работает как-то коряво |
|||
|
||||
| Mayk |
|
||||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
Подробнее с этого моменента.
вроде нормально работает ps. не соглашусь с тем, что самоделку проще делать. Обрабытывать backspace'ы, стрелки курсора и делеты очень муторно. Не сложно, но муторно. На мозги это обработка изрядно капает, когда подобное пишешь не в первый раз. Это сообщение отредактировал(а) Mayk - 10.8.2005, 18:40 -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
||||
|
|||||
| En_t_end |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: 1 Всего: 20 |
Подчти в тему... пример самоделки, которая работает, но зато следующая информация за читаемой этой функцией читается не правильно
Это сообщение отредактировал(а) En_t_end - 10.8.2005, 18:46 |
|||
|
||||
| En_t_end |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: 1 Всего: 20 |
Короче, народ, я хочу примерно такого результата:
Это сообщение отредактировал(а) En_t_end - 10.8.2005, 19:05 |
|||
|
||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
НИКОГДА не используй strlen, если есть способ обойтись без него. Ошибка и тормоза(жутчайшие) именно в нём. Добавлено @ 19:25 А всё же, чем readline не устраивет? GetLine_my делает по сути то же самое. Только я не уверен в эффективности. Добавлено @ 19:28 Кстати, а разве get() в случае конца файла возвращает нуль? Или для чего тогда нужна i != strlen(str) Это сообщение отредактировал(а) Mayk - 10.8.2005, 19:23 -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| Fixin |
|
|||
![]() Ёжик ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1357 Регистрация: 6.1.2004 Репутация: 2 Всего: 18 |
Добавлено @ 21:13 И это не обязательно начало массива... |
|||
|
||||
| Mayk |
|
||||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
Да хоть трилиард.
str[-1] это не начало массива. Это элемент массива, в который был считан символ. -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
||||
|
|||||
| Fixin |
|
|||
![]() Ёжик ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1357 Регистрация: 6.1.2004 Репутация: 2 Всего: 18 |
Сорри.
|
|||
|
||||
| En_t_end |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: 1 Всего: 20 |
Кстати проблема с считыванием последующих данных(после юзания функцит) так и осталась
Но я её обошел по варварски |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |