Вообщем есть файл в который записывается значение баланса с новой строки после закрытия каждого ордера.
Нужно взять в массив последние 10 значений .
Как это сделать проще всего ?
Пробовал посчитать количество строк из файла и потом брать. но что -то не получается. Наверяка есть спосооб считывать файл с конца построчно. Как это сделать ?
Нет. SEEK_END и никакого запаса.
- www.mql5.com
"считывать файл с конца построчно" никогда не встречал. Но, зная размер памяти занимаемый одной строкой можно от конца файла переместить указатель на 10 строк и начать чтение.
Размер строк разный.
Может кто сталкивался с изящным и экономным решением ?
Размер строк разный.
Может кто сталкивался с изящным и экономным решением ?
Берете макс возможный размер строки.
Кстати, если размер разный, как вы определяете где что и в какой позиции находится?
Берете макс возможный размер строки.
Кстати, если размер разный, как вы определяете где что и в какой позиции находится?
FileReadNumber берет значение полностью и переходит на след. строку.
Недавно делал подобное. Но мне надо было 2 строчки снизу читать.
//Читаем из файла FileSeek(filehandleZ,-1,SEEK_SET); //Ставим курсор в начало файла string Slast; string Spred; while(FileIsEnding(filehandleZ)==false) // До тех пор, пока файловый указатель не в конце файла { Spred=Slast; Slast=FileReadString(filehandleZ); }
На выходе две последние записи записаны в переменные Slast и Spred. Наверное, не самое лучшее решение, но как есть
Недавно делал подобное. Но мне надо было 2 строчки снизу читать.
На выходе две последние записи записаны в переменные Slast и Spred. Наверное, не самое лучшее решение, но как есть
Вот это уже больше похоже.
Вот это уже больше похоже.
Угу, весь файл читать. Медленнее не придумаешь. Оч. дорого.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Вообщем есть файл в который записывается значение баланса с новой строки после закрытия каждого ордера.
Нужно взять в массив последние 10 значений .
Как это сделать проще всего ?
Пробовал посчитать количество строк из файла и потом брать. но что -то не получается. Наверяка есть спосооб считывать файл с конца построчно. Как это сделать ?