Библиотека readline на самом деле довольно гибкая и почти наверняка может быть замучена, чтобы делать то, что вы хотите.Но, похоже, нет смысла беспокоиться об этом, когда ваша заявленная причина попытки использовать readline для чтения из файла (в программе, где в другом месте используется readline для чтения из консоли), вы не хотитеуправлять своими входными буферами самостоятельно.Просто используйте readline для чтения ввода с консоли (например, командной строки), и когда вам нужно прочитать из файла, сделайте это так, как вы обычно делаете без readline, например, используя fgets()
.
Если вына самом деле все это не нравится, есть глобальная переменная с именем rl_instream
, которую вы можете изменить, чтобы сделать readline прочитанным из потока, отличного от stdin.Его тип FILE*
и задокументирован здесь: https://tiswww.case.edu/php/chet/readline/readline.html