Ошибка При Записи Массива Коллекции В Файл C++

vladis222

Active member
06.12.2011
31
0
#1
Здравствуйте, у меня такая проблема-при записи Array List в файл вызывается исключение о том,что смещение или длина вышли за пределы массива,хотя делаю вроде все правильно,в цикле записываю объектом потока ofstream в файл ,подскажите,пожалуйста,в чем проблема.
Вот код:
C++:
	InitializeComponent();
Currency  = gcnew ArrayList;
Currency->Add("Рубль");
Currency->Add("гривна");
Currency->Add("доллар");
Currency->Add("евро");
Currency->Add("фунт");
Currency->Add("йена");
ofstream fout ("valuti.txt");
int k=Currency->Count;
for(int i=0;i<k;i++)
{
fout<<(Currency->GetRange(i,k)->ToArray());
}
//
Подскажите,пожалуйста,как устранить эту проблему
 
R

rrrFer

#2
Я вот понятия не имел что есть ArrayList, но загуглил:
http://msdn.microsoft.com/ru-ru/library/sy...t.getrange.aspx

GetRange(i,k) - ошибка видимо тут

Функция получает подмассив размера k, начиная с индекса i (если k = 3 {в начальном массиве 3 элемента} и i = 2, то функция запросит элементы до 5 включительно {но мы то помним что их там всего 3}).

-----------
Если не секрет, расскажи зачем тебе ArrayList - я такой штукой чето не пользовался, этож .NET, но неужели без него не обойтись?
 

vladis222

Active member
06.12.2011
31
0
#3
Я вот понятия не имел что есть ArrayList, но загуглил:
http://msdn.microsoft.com/ru-ru/library/sy...t.getrange.aspx

GetRange(i,k) - ошибка видимо тут

Функция получает подмассив размера k, начиная с индекса i (если k = 3 {в начальном массиве 3 элемента} и i = 2, то функция запросит элементы до 5 включительно {но мы то помним что их там всего 3}).

-----------
Если не секрет, расскажи зачем тебе ArrayList - я такой штукой чето не пользовался, этож .NET, но неужели без него не обойтись?
Ну,здесь просто я взял ArrayList для добавления туда валют ,которые я буду переконвертировать....
 
R

rrrFer

#4
а че бы не взять std::vector или std::list ? - есть ведь стандартная библиотека, ее не хватает?