![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| v_enom |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 11.10.2006 Репутация: нет Всего: нет |
Люди, пожалуйста, помогите.
мне нужно записать двумерный массив из 1000x1000 элементов (int) в файл. если я записываю массив 100х100 то все нормально записывается, если больше: 1000 х 1000 то вылезают ошибки, перегрузка стека и т.д.
а при считывании из файла первые 25 элементов считываются в массив a[i][j] записываются, а потом перестают записываться... может быть я не теми функциями пользуюсь или есть какие-то ограничения. Что мне делать? Это сообщение отредактировал(а) v_enom - 14.10.2007, 00:17 |
|||
|
||||
| v_enom |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 11.10.2006 Репутация: нет Всего: нет |
провобал еще вот так с фунцкией fwrite:
но работает только до 100 000 элементов (( сообщение следующее: Project stream.exe rised exaption class EStackOverflow with message "Stack Overflow". Process stoped |
|||
|
||||
| DjoNIK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 320 Регистрация: 28.9.2006 Где: Питер/Георгиевск Репутация: 4 Всего: 5 |
Если "Stack Overflow", то просто делаешь функцию, которая записывает, допустим, сто элементов. Затем вызываешь ее в цикле.
-------------------- - Плесни-ка мне холодного кипятку. - Как кипяток может быть холодным?! Ты, верно, хочешь кипяченой воды? - Какая ещё кипяченая вода? Не пудри мне мозги - налейхолодного кипятку. (разговор петербуржца и москвича) |
|||
|
||||
| zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 26 Всего: 92 |
Проблема в этом:
Можно увеличить размер стека в настройках проекта, но лучше над стеком не издеваться такими объемами, а работать с динамической памятью (new/delete), как - примеров на форуме хватает. |
|||
|
||||
| v_enom |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 11.10.2006 Репутация: нет Всего: нет |
со стеком понял, а что с чтением делать???
я заметил что если я пишу двумерный массив mas[10][10], например, то после элемента mas[0][9] в файле появляется еще какой-то укзатель или фиг знает что. а только потом содержание фала... с одномерным все окей. |
|||
|
||||
| v_enom |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 11.10.2006 Репутация: нет Всего: нет |
или вот такая проблема (уже динмаический созданный массив)
читае с 100 ... по 25 элемент и выводит на экран нормально, а с 24 по 1 выводит нули.А в файле все как надо вот так писал:
а так читаю.
эффект этот на любом массиве больше чем 3х3 но в конце либо 0 либо какая-то ерунда Очень прошу помочь, в других источниках не могу найти ответа пробовал сейчас записать в файл несколько раз подряд число 13 (0х0D) вот в нем оказывается и проблема...записывает нормально, а читает с каким-то смещением.... проблема именно в этом Это сообщение отредактировал(а) v_enom - 14.10.2007, 12:53 |
||||
|
|||||
| v_enom |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 11.10.2006 Репутация: нет Всего: нет |
вот что в памяти у меня.. при N = 5
а на выходе результата числа: 25 24 23 22 21 20 19 18 17 16 15 14 201326592 184549376.....16777216 0 Присоединённый файл ( Кол-во скачиваний: 9 )
far.GIF 7,19 Kb |
|||
|
||||
| v_enom |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 11.10.2006 Репутация: нет Всего: нет |
сделал для себя вывод, что лучше не юзать потоки. пользуясь обыными функциями write и read(handl,size,len)....
с ними работает |
|||
|
||||
| xvr |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
У тебя файл открывается в текстовом режиме, при этом библиотека при выводе каждого символа '\n' приписывает перед ним '\r', при вводе наоборот - удаляет. Создавай/открывай файлы в бинарном режиме (запись - "wb", чтение - "rb") и будет все Ок |
||||
|
|||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |