GNU readline 사용법
개요
GNU readline은 명령 줄 인터페이스에서 줄 편집 및 입력 기록 저장 등의 역할을 하는 라이브러리다. 입력 자동완성, 커서 이동, 잘라내기, 복사, 붙여 넣기 등의 기능을 지원하며, Bash 등의 명령 줄 기반 인터랙티브 소프트웨어에서 사용된다.
readline 설치
1
|
sudo apt-get install -y libreadline-dev
|
cs |
readline 개념
1
|
char *readline(const char *prompt);
|
cs |
※ 문자열을 반환하므로 매번 입력을 받을 때는 메모리 관리에 신경써야 한다.
※ 컴파일 할 때는 -lreadline 플래그를 추가해줘야 한다.
※ ex) gcc sample.c -lreadline
예제 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#include <readline/readline.h>
#include <readline/history.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(void)
{
char *str;
while(1)
{
str = readline("Enter the string : ");
if (strcmp(str, "exit") == 0)
{
printf("exit ...\n");
break;
}
else
printf("Result : %s\n\n", str);
add_history(str);
free(str);
}
return(0);
}
|
cs |
※ 문자열 입력. (line 12)
※ exit를 입력하면 반복문 탈출. (line 13 ~ line 17)
※ 키보드 up, down키를 누르면 전에 입력했던 문자열들이 나타남 (line 20)
'프로그래밍 언어 > C, C++' 카테고리의 다른 글
[C언어] chdir 사용법 (0) | 2022.02.09 |
---|---|
[C/C++] atoi 구현 / 문자열을 숫자로 (11) | 2021.04.18 |
[C언어] 문자열을 숫자로, 숫자를 문자열로 (0) | 2021.01.27 |
[C언어] 배열, 구조체의 원소 개수 구하기 / sizeof 사용법 (0) | 2020.11.13 |
[C/C++] 최대공약수 구하기 (0) | 2020.10.31 |