Открыть файл как csv с разделителем, который не встречается в файле (например '\t') и читать строки.
int start() { //---- int h=FileOpen("text.txt",FILE_CSV|FILE_READ,"\t"); if(h<1){ Alert("Не удалось открыть файл "); } else{ while(!FileIsEnding(h)){ Alert(FileReadString(h)); } } FileClose(h); //---- return(0); }Но на последней строке застревает в цикле. Если добавить еще одну пустую строку, то читает и ее и выходит из цикла. Как бы вот эту проблему решить. Чтобы не пришлось следить за наличием последней пустой строки в файле. Есть пустая строка - считывается "" и соответственно не используется. Если последня строка не пустая, как же измудриться ее считать?
После чтения строки спрашивать GetLastError(). И проверять на ошибку ERR_END_OF_FILE (4099)
Не помогает. Пробовал и в переменную сначала читать. Застревает
на считывании последней строки если она не пустая. Следующий
за строкой считывания код не выполняется.
Я не смог воспроизвести.
Пришлите, пожалуйста Ваш файл text.txt на stringo at metaquotes dot ru
Файл простой:
111
222
333
Если после 333 не нажат Enter, то 333 не считывается, если нажат, то считывается 333 и "" и всё ОК.
111
222
333
Если после 333 не нажат Enter, то 333 не считывается, если нажат, то считывается 333 и "" и всё ОК.
stringo, а у вас все нормально работает? Если у вас нормально,
то я парить тогда не буду - буду нажмать Enter в конце фала
и все:-)
Даже если не нажат enter всё равно считывается. Очень интересно.
Какая у Вас версия клиентского терминала?
билд 190. Буду обновляться:-)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Имеется текстовый файл со строками различной длинны, необходимо считывать из файлы эти строки.