2016-05-17 2 views
0

Если возможно, как я могу сделать эту опцию?Могу ли я использовать автозаполнение в середине программы в ubuntu? Как во время функции scanf()

Мое требование в том, что во время выполнения scanf() функция ждет ввода строки (имя файла). В это время я хочу выполнить автоматическое завершение. Как я могу это сделать?

Например:

выходной терминал
printf("enter the sourcefile name\n"); 
scanf("%s",filename); 

введите имя Исходный_файл


"здесь я хочу выполнить опцию автоматического завершения"

пожалуйста, дайте мне объяснение с кодом.

здесь я отправляю мой код, пожалуйста, принять к сведению

printf("enter the source file name\n"); 
    scanf(" %s",filename); 
    raw=fopen(filename,"rb"); 
    if(raw==NULL) 
    { 
      perror("fopen"); 
      return; 
    } 
    int ch; 
+1

если вы ищете автозавершения, как Баш терминала (на вкладке или какой-либо другой ключ) НУК нужно использовать libreadline библиотеку или какой-либо эквивалентную библиотеку. –

ответ

0

Чтобы использовать GNU Readline Library, возможно, потребуется install libreadline-dev и компилировать с опцией -lreadline. #include <readline/readline.h> в вашей программе; то вы можете заменить

printf("enter the sourcefile name\n"); 
    scanf("%s",filename); 

с

char *filename = readline("enter the source file name\n"); 
Смежные вопросы