|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
02.06.2013, 09:10 | #1 |
Новичок
Джуниор
Регистрация: 16.11.2012
Сообщений: 2
|
Динамический массив под строку. Замкнутый круг.
Здравствуйте!
Программе подается текстовый файл. Надо его считывать построчно, и загонять в массив. То есть каждой строке должен соответствовать массив. Динамический. Используя malloc. И я не понимаю: для того, чтобы создать динамический массив нужно узнать длину строки. Чтобы узнать длину, нужно строку считать, то есть создать массив. Замкнутый круг. Помогите, пожалуйста, объясните! |
02.06.2013, 10:03 | #2 |
Linux C++ Qt ARM
Старожил
Регистрация: 30.11.2008
Сообщений: 3,030
|
Ну длинна строки не бесконечная.
1. Делаете (например) размером 255. 2. Считываете 255 символов. 3. Если считалось ровно 255, то скорее всего вы считали не всю строку. Делаете realloc своего массива, и возвращаетесь к п.2. Если считалось меньше 255 символов - вы считали всю строку. идите к п.4. 4. С помощью realloc урезаете массив до нужного размера.
Дилетант широкого профиля.
"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс |
02.06.2013, 14:33 | #3 |
Форумчанин
Регистрация: 03.01.2013
Сообщений: 388
|
Можно просканировать всеь файл и, с помощью цикла, выяснить кол-во элементов в нем.. да и строк тоже
На основе полученных данных можем считывать строки из файла в динамический массив. E.G: for (int i = 0; (ch = getc(file) ) != EOF; i++) |
02.06.2013, 14:40 | #4 |
Пользователь
Регистрация: 05.12.2012
Сообщений: 26
|
а почему именно так? есть же возможность определить сразу размер файла:
Код:
|
02.06.2013, 14:58 | #5 |
Форумчанин
Регистрация: 03.01.2013
Сообщений: 388
|
Можно и так))
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Динамический массив под строку. Замкнутый круг. | ilizard | Помощь студентам | 1 | 02.06.2013 16:30 |
Выделить память под динамический массив указателей | vik24rus | Общие вопросы C/C++ | 5 | 15.04.2013 13:19 |
Освобождение памяти под динамический массив | tsar_ | Общие вопросы Delphi | 7 | 24.12.2011 00:37 |
Как переделать под динамический двумерный массив? | Kroleg | C++ Builder | 2 | 20.10.2011 13:36 |
Динамический массив - или всё таки не динамический? | vedro-compota | Общие вопросы C/C++ | 30 | 10.12.2010 23:22 |