Как записать файл на диск, если длина строки больше 63?

 
Мне нужно записать файл GL1[200][102] на диск, пытался разбивать файл пополам и писать с использованием функции FileSeek(handle, 0, SEEK_CUR); - ничего не получается, в два раза увеличивает количество строк, но длина строки остается прежней.
 
Лучше покажи как ты это делал. Нет такой проблемы.
 

У меня такая проблема возникла.
handle=FileOpen("EUR5.csv",FILE_CSV|FILE_WRITE,','); //1

if (handle>0)
{//14
for(iw=0; iw<200; iw++)
{//12
{ for( jw=0; jw<51; jw++)
MS[jw]=GL1[iw][jw];

MS5[jw]=GL1[iw+51][jw];
}
FileWrite(handle,MS[0],MS[1],MS[2],MS[3],MS[4],MS[5],MS[6],MS[7],MS[8], MS[9],MS[10],
MS[11], MS[12], MS[13], MS[14], MS[15], MS[16], MS[17], MS[18], MS[19], MS[20],
MS[21], MS[22], MS[23], MS[24], MS[25], MS[26], MS[27], MS[28], MS[29], MS[30],
MS[31], MS[32], MS[33], MS[34], MS[35], MS[36], MS[37], MS[38], MS[39], MS[40],
MS[41], MS[42], MS[43], MS[44], MS[45], MS[46], MS[47], MS[48], MS[49], MS[50]);
FileSeek(handle, 0, SEEK_CUR);
FileWrite(handle,MS5[0],MS5[1],MS5[2],MS5[3],MS5[4],MS5[5],MS5[6],MS5[7], MS5[8], MS5[9],MS5[10],
MS5[11], MS5[12], MS5[13], MS5[14], MS5[15], MS5[16], MS5[17], MS5[18], MS5[19], MS5[20],
MS5[21], MS5[22], MS5[23], MS5[24], MS5[25], MS5[26], MS5[27], MS5[28], MS5[29], MS5[30],
MS5[31], MS5[32], MS5[33], MS5[34], MS5[35], MS5[36], MS5[37], MS5[38], MS5[39], MS5[40],
MS5[41], MS5[42], MS5[43], MS5[44], MS5[45], MS5[46], MS5[47], MS5[48], MS5[49], MS5[50]);
}//12
FileClose(handle);

}//14
А если пытаюсь в одной функции FileWrite записать - при компиляции возникает ошибка.

 
Бедные компьютеры!
 
Piligrimm:

         for( jw=0; jw<51; jw++)
         MS[jw]=GL1[iw][jw];
         
         MS5[jw]=GL1[iw+51][jw];

на кого тут for действует. Это так, между прочим.
 
handle=FileOpen("EUR5.csv",FILE_CSV|FILE_WRITE,',');  //1
if (handle>0)
{
for(i=0; i<200; i++)
for( j=0; j<102; j++)
FileWrite(handle, GL1[i][j]);
}
 

Извините, опечатка, я по ходу убрал лишнее, но не скорректировал.
for( jw=0; jw<51; jw++)
{ MS[jw]=GL1[iw][jw];

MS5[jw]=GL1[iw+51][jw];
}

 
BabyBear:
handle=FileOpen("EUR5.csv",FILE_CSV|FILE_WRITE,',');  //1
if (handle>0)
{
   for(i=0; i<200; i++)
      for( j=0; j<102; j++) 
         FileWrite(handle, GL1[i][j]);
}

В документации по FileWrite говорится, что нельзя писать массивы, вот я и пытался записывать построчно.
А так, как Вы советуете, запись происходит в один столбец всего массива.
 

А если в цикле собрать все элементы одной строки файла в один string через запятую, а потом записать ее в файл? И так для каждой строки...

 
bstone:

А если в цикле собрать все элементы одной строки файла в один string через запятую, а потом записать ее в файл? И так для каждой строки...


Я не совсем представляю, как это сделать, покажите, пожалуйста, на примере. На сколько я помню, длина строки тоже не может превышать 64 значения.
 

Есть такие функции в mql4:

int FileWriteArray( int handle, object array[], int start, int count)

int FileReadArray( int handle, object&array[], int start, int count)

Будет полезно прочитать про них в справке. Или хотя бы, если в csv писать, то в циклах по одному элементу. Например первые две строчки файла будут хранить размеры массива, а дальше данные.