파일의 크기(바이트), 이중 유형 이 차지하는 크기(바이트), zhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzh
파일의 크기(바이트), 이중 유형 이 차지하는 크기(바이트), zhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzh
Получается, что если массив динамический, то формула /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); //записываем в файл все элементы массива
bin 파일을 새 막대 로 보완하는 줄의 코드
if (count==size) { // 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); //записываем в файл все элементы массива
bin 파일을 새 막대 로 보완하는 줄의 코드
if (count==size) { // 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 ; }
어디서 읽었는지 기억나지 않지만 파일을 쓰기 전용으로 열면 그 안의 모든 것이 삭제됩니다.
int handle= FileOpen (path, FILE_WRITE | FILE_BIN );
결국 배열 값이 인덱스에 있도록 8000으로 나눕니다.
당신이 가장 잘 알고...
파일 크기
파일 크기 를 바이트 단위로 반환합니다.
유형
크기(바이트)
최소 양수 값
최대값
C++의 아날로그
뜨다
4
1.175494351e-38
3.402823466e+38
뜨다
더블
여덟
2.2250738585072014e-308
1.7976931348623158e+308
더블
파일의 크기(바이트), 이중 유형 이 차지하는 크기(바이트), zhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzh
당신이 가장 잘 알고...
유형
크기(바이트)
최소 양수 값
최대값
C++의 아날로그
뜨다
4
1.175494351e-38
3.402823466e+38
뜨다
더블
여덟
2.2250738585072014e-308
1.7976931348623158e+308
더블
파일의 크기(바이트), 이중 유형 이 차지하는 크기(바이트), zhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzh
zhzhzhzhzh는 무엇입니까? 어울리지 않아, 젠장, 더 쉬울 수 없니?
Получается, что если массив динамический, то формула /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); //записываем в файл все элементы массива
bin 파일을 새 막대 로 보완하는 줄의 코드
{
// 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); //записываем в файл все элементы массива
bin 파일을 새 막대 로 보완하는 줄의 코드
{
// 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 ;
}
어디서 읽었는지 기억나지 않지만 파일을 쓰기 전용으로 열면 그 안의 모든 것이 삭제됩니다.
파일을 읽고 쓰기 위해 열어야 합니다.
어디서 읽었는지 기억나지 않지만 파일을 쓰기 전용으로 열면 그 안의 모든 것이 삭제됩니다.
파일을 읽고 쓰기 위해 열어야 합니다.
AAA는 잘했다고 생각했다
새 데이터를 처음에 쓰고 전체 시작 부분에 씁니다. 어떻게 든 시작 부분의 크기를 늘릴 수 있습니까?)
즉, 초기 진입이 제한되어 있습니까? 아니면 끝까지 저장만 계속하시겠습니까?
그리고 데이터를 끝까지 저장하고 계속 추가하면 끝에서 원하는 양까지 어떻게 읽나요? 또는 오히려 N에서 끝까지 bin 파일에서 원하는 조각을 캡처하는 방법
아니면 잘못된 팀과 함께 했습니까!?!?
두 개의 배열을 끝까지 저장합니다. 빈의 무게를 올바르게 늘려서 이해한 대로 작성했습니다.
다음으로 마지막 레코드를 캡처하는 작업으로 데이터를 배열로 전송하려고 합니다. bin 파일의 차원이 배열보다 큽니다.
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);
다음을 사용하여 바이너리 파일에서 원하는 섹션을 읽으면
그런 다음 원하는 결과를 얻을 수 없으면 알고리즘이 배열 자체를 처리하고 셀의 지정된 섹션에 속하지 않는 항목은 빈의 위치와 유사하게 브로드캐스트되어 동일한 한계에서 요청된 간격을 차례로 제공합니다. 0만 있는 빈에서와 같이 위치를 지정합니다.
다음을 사용하여 바이너리 파일에서 원하는 섹션을 읽으면
그런 다음 원하는 결과를 얻을 수 없으면 알고리즘이 배열 자체를 처리하고 셀의 지정된 섹션에 속하지 않는 항목은 빈의 위치와 유사하게 브로드캐스트되어 동일한 한계에서 요청된 간격을 차례로 제공합니다. 0만 있는 빈에서와 같이 위치를 지정합니다.
무엇이 잘못될 수 있는지 이해가 되지 않습니다...
그냥 멍청하게 파일을 열어서 읽어라
포인터를 원하는 방향으로 필요한 바이트 수만큼 이동
// В данном случае от конца файла на 32 байта
32바이트는 8개의 정수 값 또는 4개의 부동 소수점 값입니다.
배열이 2차원이면 배열이 int 유형이면 4줄, 배열 유형이 double이면 2줄만큼 이동한다는 의미입니다.
다음으로 동적 arr[][2]로 미리 선언된 배열로 값을 읽습니다. 이것은 2차원 배열입니다.
모두!!!
다음으로 배열의 크기를 결정합니다.
결과 값을 인쇄하십시오.
int i, z;
for (i = 0 ; i < size; i++)
{for (z = 0 ; z < 2 ; z++)
{
Print ( "arr[" , i, "][" , z, "]" , arr[i][z]);
}
}
무엇이 잘못될 수 있는지 이해가 되지 않습니다...
고맙습니다! 성공))))