목록Coding (143)
0w0
http://euler.synap.co.kr/prob_detail.php?id=2 피보나치 수열의 각 항은 바로 앞의 항 두 개를 더한 것이 됩니다. 1과 2로 시작하는 경우 이 수열은 아래와 같습니다.1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...짝수이면서 4백만 이하인 모든 항을 더하면 얼마가 됩니까? 소스 temp=0n1=1n2=2result=0 while temp
서브라임 텍스트 3 라는 에디터로 파이썬을 사용하겠습니다 1. 파이썬 설치 https://www.python.org/ 2. Sublime Text 3 설치 https://www.sublimetext.com/ 3. Sublime Text 3 에 Package Control 설치 https://packagecontrol.io/installation import urllib.request,os,hashlib; h = 'df21e130d211cfc94d9b0905775a7c0f' + '1e3d39e33b79698005270310898eea76'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.reque..
입력한 문자열을 hex로encode 함수를 사용!!>>> input_str=raw_input("String : ")String : ABCD>>> print input_strABCD>>> input_str.encode("hex")'41424344' hex를 문자열로decode 함수를 사용!!>>> hex_value=input_str.encode("hex")>>> hex_value.decode("hex")'ABCD' 문자열을 base64로>>> a=input_str.encode("base64")>>> print aQUJDRA== base64를 문자열로>>> a.decode("base64")'ABCD'
//ex2_6.c#include#include#include#include#include int main(void){ int fd, n; off_t start, cur; char buf[256]; fd=open("unix.txt", O_RDONLY); //unix.txt 파일을 읽기 전용으로 연다. if(fd==-1){ perror("Open unix.txt"); exit(1); } start=lseek(fd, 0, SEEK_CUR); //파일의 현재 위치를 파악해보면 오프셋이 0임을 알 수 있다. n=read(fd, buf, 255); buf[n]='\0'; printf("Offset start=%d, Read Str=%s, n=%d\n", (int)start, buf, n); cur=lseek(fd,..
저수준 파일 입출력 저수준 파일 입출력은 유닉스 커널의 시스템 호출을 사용하여 파일 입출력을 수행한다. 파일 지시자 : int fd (파일 기술자)특징 : 훨씬 빠르다. 바이트 단위로 읽고 쓴다.특수 파일에 대한 접근이 가능하다. 파일 열기 : open(2) open 함수는 파일 열기에 성공하면 파일 기술자를 리턴한다. 파일 열기에 실패하면 -1을 리턴하고, 외부 변수 errno에 실패한 이유를 설명하는 오류 코드를 저장한다. 이 오류 코드를 perror 함수로 출력하면 해당 메시지를 확인할 수 있다. 함수원형#include#include #include //file control의 약자 int open(const char *path, int oflag [, mode_t mod]); //path : 열려..
명령행 인자의 전달[3210w0@localhost source]$ cat ex1_6.c#include //명령행 인자 출력하기int main(int argc, char *argv[]){//명령행 인자를 받기 위해 main함수에 argc와 argv를 선언int n; printf("argc= %d \n",argc);//인자의 개수를 저장한 argc 값을 출력 for(n=0; n
동적 메모리 할당메모리를 할당하는 함수로는 malloc, calloc, realloc 등이 있고, 사용을 마친 메모리를 해제하는 함수로는 free가 있음동적 메모리 할당을 활용하면 필요한 데이터양에 따라 메모리 공간을 효율적으로 사용할 수 있다. 메모리 할당 : malloc#includevoid malloc(size_t size) //size:할당받을 메모리 크기 -메모리 할당성공-> 메모리의 시작 주소를 리턴실패-> NULL 포인터를 리턴 -인자로 지정하는 메모리 크기는 바이트 단위 -할당된 메모리에는 데이터형 제한 없음 -주의사항: malloc 함수는 할당된 메모리를 초기화하지 않음 ex)char *ptr; ptr=malloc(sizeof(char) *100); 메모리 할당과 초기화 : calloc#..
오류 코드를 메시지로 변환해 줄력하는 perro, str-error 함수를 사용 perror함수소스 [root@localhost source]# cat ex1_4.c //perror함수 사용하기 include#include#include#include extern int errno; int main(void){ if(access("unix.txt",R_OK)==-1){ perror("unix.txt");//#include void perror(const char *s);//access 함수에서 오류가 발생하면 perror 함수를 호출. perror 함수의 인자로 "unix.txt"를 지정 exit(1); } return 0;} 실행 결과[root@localhost source]# ./ex1_4unix.t..
대부분의 경우 프로그램을 작성할 때 소스 파일이 하나가 아닌 여러 개로 구성되고, 컴파일 시 이를 묶어서 실행 파일을 생성한다. 유닉스 시스템에서 이렇게 여러 소스 파일을 컴파일하고 링크해서 실행 파일을 생성하는 데 사용할 수 있는 도구로 Makefile 설정 파일과 make 명령을 제공한다. Makefile (설정파일) Makefile은 컴파일 명령, 소스 파일을 컴파일하는 방법, 링크할 파일들, 실행 파일명 등을 설정하는 파일 make (명령어)make 명령은 Makefile을 읽고 해당 파일에서 지정한 대로 컴파일을 실행하고 실행 파일을 생성한다. make 명령 사용 예 [root@localhost 3210w0]# cat ex1_3_addnum.c #include extern int addnum(i..
시스템 호출시스템 호출은 커널의 해당 모듈을 직접 호출해 작업하고 결과를 리턴한다.커널, 즉 시스템을 직접 호출하기 때문에 시스템 호출이라고 하는 것이다. 라이브러리 함수는 오류가 발생할 경우 NULL을 리턴한다. 물론 함수의 리턴값이 int형일 경우 -1을 리턴한다. man 페이지 위치일반적인 명령에 관한 설명 : 섹션 1시스템 호출 : 섹션 2라이브러리 함수 : 3 소스 [3210w0@localhost source]$ cat ex1_1.c //시스템 호출 오류 처리하기 #include#include#include extern int errno; /*errno는 에 정의되어 있는 광역 변수거나 시스템에 따라서 매크로이기도 한 값입니다. 이 errno은 라이브러리 함수 실행 중 에러가 발생하면 어떠한 에..