Как сделать фильтр
Спасибо!!
Есть текстовый файл, в котором находятся буквы русского, английского алфавита, знаки препинания и цифры. Как сделать так, чтобы на экран сначала выводилось содержимое всего файла. Далее при нажатии определенной кнопки (напр. 1 - цифры, 2- англ. буквы, 3- рус. буквы, 4- знаки препинания) отключался вывод цифр (англ. букв, рус. букв, знаков препинания), а при повторном нажатии вывод должен включаться.
Спасибо!!
Имхо, самое простое решение - в цикле анализировать ANSI код каждого символа и не выводить то что не надо. Благо, ANSI коды цифр, русских букв и английских - находятся в определенном промежутке.
Имхо, самое простое решение - в цикле анализировать ANSI код каждого символа и не выводить то что не надо. Благо, ANSI коды цифр, русских букв и английских - находятся в определенном промежутке.
и еще если файл не изменяется пока запушена твоя программа, то создай массив для каждого типа фильтра (цифр, букв и т.д.) если ты первый раз выводишь все символы то и выводи посимвольно сразу записывая в массив к чему этот символ принадлежит. И у тя фильтр уге готов остается только выводить массив на экран. Хотя я не уверен на счет своего предложения но не надо бегать несколько раз по файлу
и еще если файл не изменяется пока запушена твоя программа, то создай массив для каждого типа фильтра (цифр, букв и т.д.) если ты первый раз выводишь все символы то и выводи посимвольно сразу записывая в массив к чему этот символ принадлежит. И у тя фильтр уге готов остается только выводить массив на экран. Хотя я не уверен на счет своего предложения но не надо бегать несколько раз по файлу
Я все понял. Только возникает одна проблема. Если файл очень большой, то его надо выводить постранично на экран монитора. И при этом размер массива угадать сложно (имеется ввиду для всего файла, а не для вывода на экран).
Кто-нибудь сможет привести хоть кусочек кода в пример? Просто не знаю какой функцией для работы с файлами воспользоваться.
Я все понял. Только возникает одна проблема. Если файл очень большой, то его надо выводить постранично на экран монитора. И при этом размер массива угадать сложно (имеется ввиду для всего файла, а не для вывода на экран).
Кто-нибудь сможет привести хоть кусочек кода в пример? Просто не знаю какой функцией для работы с файлами воспользоваться.
динамическим массивом пользоваться может? узнаешь длину файла и создаешь массив чуть превышающий длину. Только, если файл большой - стека может не хватить.
Второй вариант - создавать образ файла в памяти и работать как с файлом.