라이브러리 함수 라이브러리 함수 활용 1. clock 2. time 3. difftime 4. ctime 5. strftime 6. localtime 7. asctime 학습정리 라이브러리 함수 이해 시간 관련 라이브러리 함수는 time.h에 선언되어 있음 시간 데이터 처리에는 시간 구조체 tm과 초 단위 시간변수 time_t가 있음 라이브러리 함수 활용 표준 출력 문장으로 많이 사용되는 함수 : printf(); 두 시간 사이의 차이를 구하는 함수 : difftime* 현재 시스템의 시간을 구할 수 있는 함수 : time* 초 단위 시간을 시간문자열로 변환하는 함수 : ctime 지역 시간을 구하는 함수 : localtime tm 구조체를 문자열로 변환하는 함수 : asctime
코드 분석 파일에 저장 void save Books(BOOK * mb, int cnt) { FILE * fp; int i; fp = fopen ("myBooks.txt", "w+"); if (fp == NULL) perror ("Error opening file"); else { fprintf(fp, "%d₩n", cnt); for(i=0; i fprintf(fp, "%s %s %s %d %d₩n", mb[i].bookCode, mb[i].bookTitle, mb[i].bookAuthor, mb[i].bookPrice, mb[i].bookSale); } fclose(fp); } 파일에서 읽기 BOOK * readBook(BOOK * mb, int *cn) { FILE * fp; int i, cnt; fp..
텍스트 파일 입출력 fscanf / 함수원형 : int * fscanf(FILE * stream, const char * format, ...); 헤더 stdio.h 기능 형식화된 문자열을 파일로부터 입력 매개변수 FILE * stream → 읽고자 하는 FILE 포인터, const char * format → 읽어들일 데이터 서식 반환값 읽기에 성공했다면 읽어들인 항목 개수를 반환하고 실패나 오류가 발생하면 -1을 반환 반환 문자열 %o : 8진 정수 형식으로 입력 %d : 10진 정수 형식으로 입력 %ld : long형 10진 정수 형식으로 입력 %x : 16진 정수 형식으로 입력 %f : float형 형식으로 입력 %lf : double형 형식으로 입력 %c : 문자 형식으로 입력 %s : 문자열 ..
파일 입출력 기초 파일 입출력 입력과 출력의 대상이 파일인 경우 입출력 대상 텍스트 파일 : ASCII 코드 형태로 저장되는 파일 입력 : fgetc, fgets, fscanf 출력 : fputc, fputs, fprintf 닫기 : fclose 이진 파일 : 텍스트 파일이 아닌 모든 파일 입력 : fread 출력 : fwrite 핵심요약 파일 입출력 기초 파일 입출력 시 먼저 스트림을 생성해야 함 파일스트림 생성 시 읽기, 쓰기, 추가 등의 모드를 지정 파일을 열고 닫는 라이브러리 함수는 fopen, fclose임 파일 입출력 함수 파일로부터의 입력 함수로는 fgetc, fgets, fscanf, fread 등이 있음 파일에 출력하는 함수는 fputc, fputs, fprintf, fwrite 등이 있..
코드 분석 동적 할당 int main() { int sel, totalBCnt=0; BOOK *myBook; myBook = (BOOK *)calloc(2, sizeof(BOOK)); typedef struct book{ char bookTitle[50]; char bookAuthor[20]; int bookPrice; int bookSale; char bookCode[9]; }BOOK; BOOK *intBook(BOOK * mb, int * cn) { char yn; int number; int cnt; cnt = *cn; do{ while(1){ mb = (BOOK *)realloc(mb, sizeof(BOOK) * (cnt+2)); 중략 }while(yn == 'y'); *cn = cnt; retu..
함수 포인터 활용 qsort() 함수원형 void qsort (void * base, size_t num, size_t size, int (*compar)(const void *, const void *)); 헤더 stdlib.h 기능 테이블의 자료를 퀵 정렬로 내림이나 오름차순으로 정렬 매개변수 void * base → 테이블의 포인터 주소 size_t num → 테이블에 들어 있는 실제 데이터 개수 size_t size → 한 개 요소의 크기 int (*compar)(const void *, const void *) → 두 요소를 비교하기 위한 함수 포인터 반환값 void 구현 비교함수는 직접 구현해야 함 (배열의 자료형과 비교방식이 다르기 때문) 학습 정리 함수 포인터 이해 함수 포인터는 함수를 저..