Форум программистов, компьютерный форум CyberForum.ru

Ошибка при большом размере массива - C++

Восстановить пароль Регистрация
 
tvy2
0 / 0 / 0
Регистрация: 05.11.2008
Сообщений: 28
23.12.2011, 20:31     Ошибка при большом размере массива #1
Есть код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
 
main()
{
int y=0;
const int i=10000000; // если i=1000000 работает, если больше, например 10000000 - не работает.
unsigned __int8 m[i]; // массив для временного хранения файла 
FILE *f1;
f1=fopen("v2.txt", "rb"); // открытие файла для чтения 
y=fread(m, 1, i, f1); // чтение файла в массив m 
y=fclose(f1);
}
Если i=1000000 все работает, а если i больше, например i=10000000, то выдается ошибка
System.Stackoverflowexception.
Как с этим бороться?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2011, 20:31     Ошибка при большом размере массива
Посмотрите здесь:

C++ При добровольном страховании домашнего имущества по договорам, составленным на срок менее года, страховые платежи вносятся в размере:
C++ Заполнение лидирующими нолями при неравном размере строк
C++ Где - то слышал, что в указателе сохраняется информация о размере массива, верно ли это?
Как компилятор узнаёт о размере массива при выполнении операции delete? C++
Как передать в фукнцию массив без передачи дополнительных данных о размере массива? C++
Зависит ли от платформы значение выражения -1u, при размере типа, равном 32 бита? C++
C++ Программа завершается при большом размере матрицы смежности
Нестабильная работа программы при большом количестве строк во входном потоке C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Aniskov
0 / 0 / 0
Регистрация: 07.03.2010
Сообщений: 111
24.12.2011, 16:52     Ошибка при большом размере массива #2
http://www.relib.com/forums/thread858502.aspx

Там двумерный, но думаю поймешь.
CoolGun
1 / 1 / 0
Регистрация: 18.07.2010
Сообщений: 36
27.12.2011, 10:05     Ошибка при большом размере массива #3
Динамически выделить маvfccbd
new, malloc, LocalAlloc, HeapAlloc
еще наверно с 10 к наберется функций

А так лучше мэпирвать файл в память, в винде
CreateFileMapping
dp_maximk
Сообщений: n/a
18.01.2012, 13:51     Ошибка при большом размере массива #4
А есть ли какие-то ограничения по памяти, если выделять ее динамически?
Или можна использоваь всю что есть?
Yandex
Объявления
18.01.2012, 13:51     Ошибка при большом размере массива
Ответ Создать тему
Опции темы

Текущее время: 04:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru