![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Sep. |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 109 Регистрация: 22.7.2004 Репутация: нет Всего: 6 |
Пара простых действий:
Как получить содержимое текстового файла в виде массива, каждый элемент - строка (желательно AnsiString)? Как узнать количество строк в файле? Перешел с дельфи, там это все делалось в одно действие. А здесь вижу только циклы с отрытиями, закрытиями, fgets() и т.д. То есть в ручную. Может есть решение проще? --------------------
Syn - TotalCommander lister plugin | SynTree - coders sourcebook |
|||
|
||||
| Fire-Plug |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 15.3.2005 Репутация: -1 Всего: 0 |
Sep, если собираешься программировать на C++, обрати внимание на STL - она весьма удобна, в том числе для ситуаций, что делаются в дельфи "в одно действие".
Пример чтения С-строк из файла и сохранения в векторе STL-строк.
Добавлено @ 08:09 Copy-paste подвела: вместо: 'std <<' ==> 'cout <<' (в оригин.коде было std::cout ) --------------------
Объясни другому - поймешь сам (Народная примета) |
|||
|
||||
| jorkug |
|
||||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 21.3.2005 Репутация: нет Всего: 1 |
Не так уж и много. Это сообщение отредактировал(а) jorkug - 27.4.2005, 15:31 |
||||||||
|
|||||||||
| Void |
|
||||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
Что-то я не понял лишних телодвижений с буфером в виде массива char. Почему не просто:
Это сообщение отредактировал(а) Void - 27.4.2005, 19:28 -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
||||
|
|||||
| Fire-Plug |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 15.3.2005 Репутация: -1 Всего: 0 |
Видишь ли, Void, в коде всегда есть место для оптимизации.
Да потому, что это метод класса basic_istream и он имеет след.прототип:
Никто не спорит, что ф-ция string::getline() удобнее; при этом, в частности, не нужно думать, что произойдет, если длина строки превысит размер буфера... Но сведения такого рода нужно поддерживать в актуальном состоянии, а тут так исторически сложилось, что у меня в реальных проектах в течение последних 4-5 лет чтение из текстового файла не является актуальным (разве что XML-документов, но файл при этом читает парсер). Вышеуказ. код просто был скопирован из какой-то программки, написанной для домашних целей несколько лет назад. --------------------
Объясни другому - поймешь сам (Народная примета) |
||||
|
|||||
| Sep. |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 109 Регистрация: 22.7.2004 Репутация: нет Всего: 6 |
Всем спасибо большое, идею понял. =)
Просто думал что есть что нибудь встроенное, что я пропустил. --------------------
Syn - TotalCommander lister plugin | SynTree - coders sourcebook |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |