Другой вариант:
int fh=FileOpen("1.txt",FILE_READ || FILE_BIN); uchar text[]; uint c=FileReadArray(fh,text);
Возвращает с=4294967295, text[] пустой
В справке
FileReadArray
Читает массивы любых типов, кроме строковых (может быть массив структур, не содержащих строки и динамические массивы), из бинарного файла с текущего положения файлового указателя.
Возвращаемое значение
Количество прочитанных элементов. По умолчанию, читает весь массив (cnt=WHOLE_ARRAY).
Правильно нужно так:
string s=""; int fh=FileOpen("1.txt",FILE_READ | FILE_ANSI | FILE_TXT); while (!FileIsEnding(fh)) StringAdd(s,FileReadString(fh));
mql5, Rosh, спасибо
Слишком много синтаксисов в голове ... нужна перезагрузка ))
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В Блокноте создаю файл. Содержимое "1234567890". Проводник показывает размер 10 байт.
В переменной s - 5-тисимвольный Unicode.
Подскажите, плз, где ошибка?
В справке по FileReadString() написано Если файл открыт с флагом FILE_ANSI, то прочитанная строка преобразовывается в Unicode.