Перед чтением надо файловый указатель переместить в начало файла.
Файл надо сначала прочитать или записать, а только потом проверять на конец строки или конец файла.
Перед чтением надо файловый указатель переместить в начало файла.
Файл надо сначала прочитать или записать, а только потом проверять на конец строки или конец файла.
Спасибо за попытку помочь, но вы не правы... А начудил я в своем коде, докуменатцию надо читать внимательно...
Вставил приблизительно такой код:
handle = FileOpen(StringConcatenate(ImportSymbol, ".exp"), FILE_CSV|FILE_READ);
if (handle == -1) {
Alert(StringConcatenate("Error: ", GetLastError()));
return(check);
}
Сразу все заработало. Ни устанавливать указатель перед чтением не надо он устанавливается сам после открытия файла, ни читать-писать перед проверкой тоже не надо - все работает, как и предполагалось.
Более интеерсная тема - FileOpen(StringConcatenate(ImportSymbol, ".exp"), FILE_CSV|FILE_READ); - функция в функции, интересно для какой функции GetLastError() будет возвращать ошибку?
Для последней выполненной, т.е. FileOpen(). По умолчаю файловый указатель (при открытии файла) устанавливается на его начало
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Реализую такую конструкцию:
handle = FileOpen(StringConcatenate(ImportSymbol, ".exp"), FILE_CSV|FILE_READ);
check = GetLastError();
if (check != 0) {
Alert(StringConcatenate("Error: ", check));
return(check);
}
i = 0;
while (!FileIsEnding(handle)) {
Trade[i] = FileReadString(handle);
Print(Trade[i]);
i++;
}
FileClose(handle);
В итоге регулярно вылетает 4099 ошибка - ERR_END_OF_FILE - Конец файла. В чем дело?
Разве этого while(!FileIsEnding(handle)) не достаточно, чтобы уберечься от этой ошибки?