Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 1119
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
como resultado, dividi por 8000, para que os valores da matriz se encaixem em seus índices
Você me diz...
FileSize
Retorna o tamanho do arquivo em bytes.
Tipo
Tamanho em bytes
Valor mínimo positivo
Valor máximo
Analógico em C++
flutuador
4
1.175494351e-38
3.402823466e+38
flutuador
duplo
8
2.2250738585072014e-308
1.7976931348623158e+308
duplo
tamanho do arquivo em bytes, o tamanho ocupado por tipo duplo em bytes, e é necessário dividi-lo por zhzhezhezhezhezhezhezhezhezhezhez
Você me diz...
Tipo
Tamanho em bytes
Valor mínimo positivo
Valor máximo
Analógico em C++
flutuador
4
1.175494351e-38
3.402823466e+38
flutuador
duplo
8
2.2250738585072014e-308
1.7976931348623158e+308
duplo
tamanho do arquivo em bytes, o tamanho ocupado por tipo duplo em bytes, e é obrigatório dividir por zhzhezhezhezhezhezhezhezhezhezhezhezhezhezhezhez
O que é zzzzzzzz? Não faz sentido, você não pode ir com calma?
Получается, что если массив динамический, то формула /16, не совсем подходит, хотя второе же измерение фиксировано, к там уже -
FileSeek(handle,0,SEEK_END);
Люди записывают переменные в массив, возможно поможет? типо такого
int dataArraySize = ArraySize(dataArray); //записываем в переменную размер массива
int fileHandle = FileOpen("filename.dat", FILE_BIN | FILE_WRITE); // открываем файл на запись в бинарном режиме.
FileWriteInteger(fileHandle, dataArraySize);//записываем в файл размер массива
FileWriteDouble(fileHandle, dataArraySize);//записываем в файл все элементы массива
O código da linha que complementa o arquivo de lixo com uma nova barra
{
// ArrayResize(arrS,coun);
for(int q=0; q<ARRAY_SIZE_X; q++) // Перебор по периоду, колонка X
{
arrS[q]=sm.d[q].m[rates_total-1]; // M(I) SMA
coun++;
}
ResetLastError();
int handle=FileOpen(path,FILE_WRITE|FILE_BIN);
if(handle!=INVALID_HANDLE)
{
//--- запишем данные массива в конец файла
FileSeek(handle,0,SEEK_SET);
FileWriteArray(handle,arrS);
Print("arrS = ",arrS[0]," arrS = ",arrS[1]," arrS = ",arrS[3]);
//--- закрываем файл
FileClose(handle);
}
else
Print("Failed to open the file, error ",GetLastError());
count=1;
}
Получается, что если массив динамический, то формула /16, не совсем подходит, хотя второе же измерение фиксировано, к там уже -
FileSeek(handle,0,SEEK_END);
Люди записывают переменные в массив, возможно поможет? типо такого
int dataArraySize = ArraySize(dataArray); //записываем в переменную размер массива
int fileHandle = FileOpen("filename.dat", FILE_BIN | FILE_WRITE); // открываем файл на запись в бинарном режиме.
FileWriteInteger(fileHandle, dataArraySize);//записываем в файл размер массива
FileWriteDouble(fileHandle, dataArraySize);//записываем в файл все элементы массива
O código da linha que complementa o arquivo de lixo com uma nova barra
{
// ArrayResize(arrS,coun);
for(int q=0; q<ARRAY_SIZE_X; q++) // Перебор по периоду, колонка X
{
arrS[q]=sm.d[q].m[rates_total-1]; // M(I) SMA
coun++;
}
ResetLastError();
int handle=FileOpen(path,FILE_WRITE|FILE_BIN);
if(handle!=INVALID_HANDLE)
{
//--- запишем данные массива в конец файла
FileSeek(handle,0,SEEK_SET);
FileWriteArray(handle,arrS);
Print("arrS = ",arrS[0]," arrS = ",arrS[1]," arrS = ",arrS[3]);
//--- закрываем файл
FileClose(handle);
}
else
Print("Failed to open the file, error ",GetLastError());
count=1;
}
Não me lembro onde o li, mas se você abrir um arquivo apenas para escrever, tudo nele será deletado.
O arquivo tem que ser aberto para leitura e escrita
Não consigo me lembrar onde o li, mas se um arquivo é aberto apenas para escrita, tudo nele é deletado.
O arquivo tem que ser aberto para leitura e escrita
Eu pensei que era isso.
Eu escrevo novos dados até o início, ele escreve até o início completo, existe alguma maneira de aumentar o tamanho do início))
Quero dizer, é limitado escrever até o início ? ou continuar economizando apenas até o fim ?
E se eu poupar até o fim, e continuar a acrescentar até o fim, como ler do fim para a quantidade certa ? Ou melhor, como capturar do arquivo de lixo o pedaço certo de N até o fim?
Ou eu o fiz com os comandos errados?!?!?
Guardo duas matrizes para o fim - como entendo, aumentando corretamente o peso do lixo.
Então eu tento transferir dados para a matriz com a tarefa de capturar o último registro, a caixa de arquivo é maior que a matriz.
int file_handle=FileOpen(path,FILE_READ|FILE_BIN);
if(file_handle!=INVALID_HANDLE)
{
//--- прочитаем все данные из файла в массив
//file_siz=FileSize(file_handle)/8000;
//FileSeek(file_handle,file_size,SEEK_END);
FileReadArray(file_handle,arr);
//--- получим размер массива
int siz=ArraySize(arr);
//--- распечатаем данные из массива
Print("arr = ",arr[1][3]," Bid = ",arr[1][2]," Ask = ",arr[0][3]);
Print("file_siza = ",file_siz);
//--- закрываем файл
FileClose(file_handle);
Se eu ler a seção necessária do arquivo binário com
O algoritmo processa a matriz em si, as células ausentes são traduzidas de forma semelhante à posição no silo, o que, por sua vez, dá a faixa solicitada no limite da mesma posição como no silo, apenas com zeros.
Se eu ler a seção necessária do arquivo binário com
O algoritmo processa a matriz em si, as células ausentes são traduzidas de forma semelhante à posição binária, o que, por sua vez, dá a faixa solicitada no limite da mesma posição como no binário, apenas com zeros.
Eu não entendo o que pode dar errado...
Basta abrir o arquivo para leitura.
deslocar o ponteiro para o número certo de bytes na direção certa
// В данном случае от конца файла на 32 байта
32 bytes é 8 valores inteiros ou 4 valores de ponto flutuante.
Se a matriz for bidimensional, isto significa que mudamos por 4 linhas se a matriz for do tipo int, ou por 2 linhas se a matriz for do tipo duplo
Em seguida, lemos os valores no array declarado anteriormente como um arr[] dinâmico[2]; este é um array bidimensional.
É ISTO!!!
A seguir, determine o tamanho da matriz
e depois imprimir os valores.
int i, z;
for(i = 0; i < size; i++)
{for(z = 0; z < 2; z++)
{
Print("arr[", i, "][", z, "]", arr[i][z]);
}
}
Eu não entendo o que pode dar errado...
Obrigado, você! Funcionou))))