프로그래밍 언어/C, C++ 7

[C언어] chdir 사용법

chdir 사용법 개요 현재 경로를 이동해주는 함수 man 2 chdir 사용법 1 2 3 #include int chdir(const char *path); cs 성공 시 0 리턴 실패 시 -1 리턴 예제 코드 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 26 27 28 29 30 31 32 33 34 #include #include #include #include void create_file() { int fd; if ((fd = open("newfile",O_CREAT, 0644)) == -1) { perror("open failed"); exit(1); } close(fd); } int main(int argc, char ..

[C언어] GNU readline 사용법

GNU readline 사용법 개요 GNU readline은 명령 줄 인터페이스에서 줄 편집 및 입력 기록 저장 등의 역할을 하는 라이브러리다. 입력 자동완성, 커서 이동, 잘라내기, 복사, 붙여 넣기 등의 기능을 지원하며, Bash 등의 명령 줄 기반 인터랙티브 소프트웨어에서 사용된다. GNU readline wiki readline 설치 1 sudo apt-get install -y libreadline-dev cs readline 개념 man readline 1 char *readline(const char *prompt); cs ※ 문자열을 반환하므로 매번 입력을 받을 때는 메모리 관리에 신경써야 한다. ※ 컴파일 할 때는 -lreadline 플래그를 추가해줘야 한다. ※ ex) gcc sampl..

[C/C++] atoi 구현 / 문자열을 숫자로

atoi 구현 / 문자열을 숫자로 atoi 기본 개념 및 구조 #include 에 내장된 함수인 atoi는 문자열을 숫자로 바꿔주는 함수이다. atoi의 구조는 아래와 같다. 1. 문자열의 초반에 오는 공백 문자(white-space characters)는 무시한다. - whitespace : \t, \v, \n, \f, \r, ' ' - 아스키코드로는 9부터 13까지, ' '는 32 - man isspace 명령어를 사용해보자(리눅스 한정) 2. 부호(+, -)는 최대 한 개까지만 올 수 있다. - 만일, 두 개 이상이라면 0이 반환된다. - 부호가 없다면 기본 양수이다. 3. 숫자를 한번 읽기 시작한다면 다른 문자가 오기 직전까지만 읽는다. - ex) 1234 → 1234 - ex) 12a34 → 1..

[C언어] 문자열을 숫자로, 숫자를 문자열로

문자열을 숫자로, 숫자를 문자열로 : 아래 사용할 함수들에 대해 #include 를 사용한다. 문자열 → 숫자 atoi 정수형 : int atoi(char *string); //string : 정수로 이뤄진 문자열 atof 실수형 : double atof(char *string); //string : 실수로 이뤄진 문자열 예제(C언어) 1 2 3 4 5 6 7 8 9 10 11 12 #include #include int main() { int i = atoi("1234"); printf(" atoi(\"1234\") = %d\n", i); double d = atof("1.234"); printf("\n atof(\"1.234\") = %lf\n", d); return 0; } Colored by Co..

[C언어] 배열, 구조체의 원소 개수 구하기 / sizeof 사용법

배열, 구조체의 원소 개수 구하기 / sizeof 사용법 sizeof 란? 메모리의 크기를 바이트(Byte) 단위로 계산한 것. 정수형으로 반환된다. 예제 코드) 1 2 3 4 5 6 7 8 #include int main() { printf("char : %d byte\n", sizeof(char)); printf("int : %d byte\n", sizeof(int)); printf("double : %d byte\n", sizeof(double)); return 0; } Colored by Color Scripter cs 1차원 배열의 원소 개수 구하기 그럼 이러한 sizeof의 특징을 이용하여 배열이 있을 때, 원소의 개수를 구해보도록 하자. 예를 들어, arr[10]이라는 배열이 있다. 1 in..

[C/C++] 최대공약수 구하기

최대공약수 구하기 Code: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #include int main() { int x, y, tmp; printf("Enter the number(x, y) : "); scanf("%d %d", &x, &y); //최대공약수 구하기 //단, x가 y보다 커야함 while (y != 0) { tmp = x % y; x = y; y = tmp; } printf("\n최대공약수 : %d\n", x); return 0; } Colored by Color Scripter cs [출력 결과] *입력 시 x가 y보다 커야 한다. *둘 사이에 최대공약수가 없는 경우 1로 출력된다.