파일 작업. - 페이지 6

 
Yedelkin :

오랫동안 파일 작업을 하지 않았는데 FileOpen()을 사용할 때 CSV 파일을 선언했습니다. 이전에는 작성된 모든 요소가 유니코드 또는 si 문자열로 변환된다고 명시되어 있습니다. 여기에 개가 있는 것은 아닐까?

빌어먹을 곰돌이 푸!!!

거기에서 그녀는 "뒤집어서" :) FILE_ANSI 매개변수를 추가했고 모든 것이 시계처럼 작동했습니다!

FileOpen("가격 라벨\\"+_Symbol+tpl_ext,FILE_READ|FILE_CSV| FILE_ANSI ,';',CP_ACP);


Yedelkin , TheXpert 팁 감사합니다!!! :)

 

is_vale :  

...

내가 디버거에서 본 것으로 판단하면(sTF 변수에는 일부 중국 상형 문자가 있습니다) 그는 파일의 내용을 유니코드로 읽습니다! 파일을 열 때 유효한 모든 코드 페이지를 시도했지만 결과는 동일합니다 :( 파일 자체는 Windows 인코딩으로 작성되었습니다.

개가 어디에서 뒤적거렸는지 아는 사람 있나요?

기본값은 UNICODE 로 작성됩니다. 따라서 FILE_ANSI 플래그 를 설정하십시오.

 int handle= FileOpen ( "Price Label\\" + _Symbol +tpl_ext, FILE_READ | FILE_CSV | FILE_ANSI , ';' ,CP_ACP);

 
tol64 :

기본값은 UNICODE 로 작성됩니다. 따라서 FILE_ANSI 플래그 를 설정하십시오.

즉시 조언. )))
 
uint    FileReadArray (
   int    file_handle,               // handle файла
   void   array[],                   // массив для записи
   int    start_item= 0 ,               // с какой позиции массива писать
   int    items_count= WHOLE_ARRAY      // сколько читать
   );
array[]의 크기에 대한 질문입니다. FileReadArray() 함수에서 사용하기 전에 array[] 배열 의 크기 를 어떻게든 설정해야 합니까 , 아니면 이 경우 "터미널 실행 시스템" 자체 에서 크기를 처리합니까?
 
Yedelkin :
array[]의 크기에 대한 질문입니다. FileReadArray() 함수에서 사용하기 전에 array[] 배열의 크기를 어떻게든 설정해야 합니까, 아니면 이 경우 "터미널 실행 시스템" 자체 에서 크기를 처리합니까?

아니요, 함수 자체가 파일에서 필요한 양의 데이터에 대한 메모리를 할당하므로 동적 배열을 전달하는 것으로 충분합니다.

그건 그렇고, 간단한 구조 의 배열이 거기에 쓰여졌다면 읽을 수도 있습니다.

PS FileReadArray() 함수는 저장된 데이터의 유형을 인식하지 못하므로 주의하십시오. 이것은 기능 중 하나입니다. 중복을 저장하고 olong으로 읽고 비트로 파싱할 수 있습니다.

 

엄청난.

Urain :

추신: FileReadArray() 함수는 저장된 데이터의 유형을 인식하지 못하므로 주의하십시오. 이것은 기능 중 하나입니다. 중복을 저장하고 olong으로 읽고 비트로 구문 분석할 수 있습니다.

저것들. 저장할 때와 읽을 때 배열이 같은 형식이어야 합니다. 제가 제대로 이해한 건가요? 충분 해?

 
Yedelkin :

엄청난.

저것들. 저장할 때와 읽을 때 배열이 같은 형식이어야 합니다. 제가 제대로 이해한 건가요? 충분 해?

네.
 
Urain :
네.
그라시아스 많이!
 
bool    FileCopy (
     string   src_filename,       // имя файла-источника
     int      common_flag,         // место действия
     string   dst_filename,       // имя файла назначения
     int      mode_flags           // способ доступа
    );

설명은 다음과 같습니다.

common_flag

【인】 파일의 위치를 지정하는 플래그 입니다. common_flag=FILE_COMMON인 경우 파일은 모든 클라이언트 터미널의 공통 폴더에 있습니다. 그렇지 않으면 파일이 로컬 폴더에 있습니다.

이제 소스 파일이 공유 폴더에 있으면 common_flag=FILE_COMMON이면 이해할 수 있습니다. 파일이 로컬 폴더에 있는 경우 어떤 플래그를 지정해야 합니까? common_flag 매개변수는 기본값이 아니므로 일부 값을 계속 지정해야 합니다.
 
Yedelkin :

설명은 다음과 같습니다.

이제 소스 파일이 공유 폴더에 있으면 common_flag=FILE_COMMON이면 이해할 수 있습니다. 파일이 로컬 폴더에 있는 경우 어떤 플래그를 지정해야 합니까? common_flag 매개변수는 기본값이 아니므로 일부 값을 계속 지정해야 합니다.
FILE_COMMON 을 지정하지 않으면 기본적으로 로컬 폴더에 있습니다.
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы ввода/вывода / Флаги открытия файлов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы ввода/вывода / Флаги открытия файлов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы ввода/вывода / Флаги открытия файлов - Документация по MQL5
사유: