![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
В стагнации
Участник клуба
Регистрация: 29.07.2011
Сообщений: 1,303
|
![]()
Появилась вдруг вот необходимость считать из файла некоторые строки, но считать не просто так, а считать их в динамический символьный массив. И, естественно, STL использовать нельзя.
Но как мне узнать размер считываемой строки, чтобы правильно память выделить? Что-то вот совсем ума не приложу. Единственное, что приходит в голову, это запомнить положение в файле, где находится начало строки, потом считывать до появления '\n', затем вычитать одно из другого, получая тем самым размер строки. Затем переставлять указатель на позицию начала строки и читать. Но не муторно ли?
E-mail: pashaworking@gmail.com | ICQ: 479914426 | Skype: moondearr
Понять, чего от тебя требует заказчик – это уже половина всей работы, а иногда и полностью выполненное задание. |
![]() |
![]() |
![]() |
#2 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,431
|
![]()
Как такой вариант?
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#3 | |
В стагнации
Участник клуба
Регистрация: 29.07.2011
Сообщений: 1,303
|
![]() Цитата:
![]() А вообще, подобный вариант по-моему более ресурсозатратен, нежели предложенный мной с запоминанием позиции в файле, т.к. приходится при больших строках по много раз выделять память. Спасибо, что откликнулись.
E-mail: pashaworking@gmail.com | ICQ: 479914426 | Skype: moondearr
Понять, чего от тебя требует заказчик – это уже половина всей работы, а иногда и полностью выполненное задание. Последний раз редактировалось MooNDeaR; 26.11.2012 в 21:24. |
|
![]() |
![]() |
![]() |
#4 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,431
|
![]()
Ну на плюсах я не пишу (пока что).
Да, Ваш вариант, наверное, менее затратен. (Хотя перевыделений памяти не так уж много, для 1000000 символов - примерно 14 перевыделений). Пожалуйста.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#5 | |
В стагнации
Участник клуба
Регистрация: 29.07.2011
Сообщений: 1,303
|
![]() Цитата:
E-mail: pashaworking@gmail.com | ICQ: 479914426 | Skype: moondearr
Понять, чего от тебя требует заказчик – это уже половина всей работы, а иногда и полностью выполненное задание. |
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,119
|
![]()
MooNDeaR
Только написан на чистых сях, а мне бы на плюсах если не использовать stl, то оно ничем не будет отличаться, ибо сведется к "Си с классами" с потоками а это уже stl oO
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 30.04.2012
Сообщений: 52
|
![]()
Посчитать количество символов в файле или отравить файловый указатель в конец файла и получить значение его положение(думаю последнее быстрее)
Вернуть внутри файловый указатель в начало файла, Выделить через new необходимый размер, Считывать. Жаль, пока не встречал литературы, где что то было написано подробно о работе с текстовыми файлами и что лучше использовать.
При любом расчете, число, правильность которого для всех очевидна, становится источником ошибок.
|
![]() |
![]() |
![]() |
#8 | ||
В стагнации
Участник клуба
Регистрация: 29.07.2011
Сообщений: 1,303
|
![]() Цитата:
Цитата:
E-mail: pashaworking@gmail.com | ICQ: 479914426 | Skype: moondearr
Понять, чего от тебя требует заказчик – это уже половина всей работы, а иногда и полностью выполненное задание. |
||
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Узнать размер и длину песни | Манжосов Денис :) | Мультимедиа в Delphi | 5 | 27.12.2011 03:23 |
узнать размер файла | Артэс | Общие вопросы C/C++ | 4 | 31.05.2010 14:30 |
Узнать размер файла более 4 гб | Asteroid | Работа с сетью в Delphi | 6 | 30.11.2009 15:22 |
узнать размер картинки | cooperOk | JavaScript, Ajax | 6 | 15.11.2009 15:36 |
Как изменить динамически менять размер плавающего фрейма, к-й находится в ячейке таблицы? | 3lander | HTML и CSS | 8 | 26.05.2008 19:54 |