C & LINUX

    C / LINUX getc(3) fgetc(3) getchar(3)

    함수 기능 한번에 하나의 문자를 읽는 라이브러리 함수 getc, fgetc 주어진 포인터에서 한문자씩 읽는다 getchar stdin으로부터 문자를 하나 입력받는함수 함수 원형 #include int getc(FILE *fp); int fgetc(FILE *fp); int getchar(); 함수 파라메터 fp 파일 포인터 함수 예제 #include #include int main(void){ int character; while((character = getc(stdin))!=EOF) if(putc(character,stdout)==EOF){ fprintf(stderr,"standard output error\n"); exit(1); } if(ferror(stdin)){ fprintf(stderr,"s..

    C / LINUX fputs(3) puts(3)

    함수 기능 파일에 줄 단위 문자열을 출력하는 함수 fputs 자동 줄바꿈이 안되고 수동으로 개행 넣어줘야함 puts 문자열의 끝은 개행 문자로 대체 함수 원형 #include int puts(const char *str); int fputs(const char *str, FILE *fp); 함수 파라메터 str 가리키는 문자열 fp 파일포인터 함수 예제 #include #include #define BUFFER_SIZE 1024 int main(int argc, char *argv[]){ char buf[BUFFER_SIZE]; FILE *fp; if(argc!=2){ fprintf(stderr,"usage:%s\n",argv[0]); exit(1); } if((fp=fopen(argv[1],"w+"))..

    C / LINUX fgets(3) gets(3)

    함수 기능 줄단위 입력에 사용되는 라이브러리 fgets 는 개행문자 포함 n-1개 문자 읽음. gets 는 개행문자 만날 때까지 읽음. 개행문자는 널문자가 됨. 함수 원형 #include char *gets(char *buf); char *fgets(char *buf, int n, FILE *fp) 리턴 값 : 성공시 buf, 파일 끝이나 에러시 NULL 함수 파라메터 buf 버퍼 fp 파일포인터 함수 예제 fgets1 #include #include #include #define BUFFER_SIZE 1024 int main(void){ char buf[BUFFER_SIZE]; while(fgets(buf,BUFFER_SIZE,stdin)!=NULL) if(fputs(buf,stdout)==EOF){ ..

    C / LINUX ferror(3) feof(3) clearerr(3)

    함수 기능 FILE 스트림 객체에 설정된 에러 플래그를 설정하거나 확인하는 라이브러리 함수 ferror 입출력 에러 발생 여부 확인 feof eof가 리턴되는 이유가 에러인지 파일 끝인지를 구분 함수 원형 #include int ferror(FILE *fp); int feof(FILE *fp); void clearerr(FILE *fp); ferror 리턴 값 : 에러가 없으면 0 에러발생하면 0이 아닌값 feof 리턴 값 : 조건이 참이면 0이 아닌값, 참이 아니면 0 함수 파라메터 fp 파일 포인터 함수 예제 #include #include int main(int argc, char *argv[]){ FILE *fp; int character; if(argc!=2){ fprintf(stderr,"us..

    C / LINUX read()

    함수 기능 오픈된 파일에서 데이터를 읽을 때 사용하는 시스템호출 함수 원형 #include Ssize_t read(int filedes, void *buf, size_t nbytes) 리턴 값 : 읽은 바이트 수, 파일의 끝에 도달한 경우 0, 에러시 -1 함수 파라메터 filedes 파일 디스크립터 buf 지정된 메모리 nbytes nbytes 만큼 읽어라 fd로 부터 buf로 nbytes만큼 읽어라 함수 예제 read1 #include #include #include #include #include"ssu_employee.h" int main(int argc, char*argv[]){ struct ssu_employee record; int fd; int record_num; if(argc

    C / LINUX lseek()

    함수 기능 오픈된 파일의 오프셋 위치를 명시적으로 변경하는 시스템 호출 함수 원형 #include #include off_t lseek(int filedes, off_t offset, int whence) 리턴 값 : 성공시 파일 오프셋, 에러시 -1 함수 파라메터 file des lseek할 파일디스크립터 offset 파일 오프셋 위치 whence SEEK_SET - 파일의 오프셋 위치를 처음으로 SEEK_CUR - 현재 오프셋 부터 계산 SEEK_END - 파일의 오프셋은 파일 마지막 함수 예제 lseek 1 #include #include #include #include #include int main(void){ char *fname = "ssu_test.txt"; off_t fsize; int ..

    C / LINUX creat()

    함수 기능 파일을 생성할 때 사용하는 시스템 호출 함수 원형 #include #include #include int create(const char*pathname, mode_t mode); 리턴 값 : 성공시 파일디스크립터, 에러시 -1 함수 파라메터 pathname 생성하고자 하는 파일 이름 mode open의 모드와 동일 함수 예제 creat1 #include #include #include #include int main(void){ char *fname = "ssu_test.txt"; int fd; if((fd = creat(fname,0666)

    C / LINUX fclose() fcloseall()

    함수 기능 오픈된 파일 스트림을 닫는 라이브러리 함수 함수 원형 #include int fclose(FILE *fp); int fcloseall(); 리턴 값 : 성공시 0, 에러시 EOF 함수 파라메터 fp 닫으려는 파일 파일포인터 함수 예제 #include #include int main(void){ char *fname = "ssu_test.txt"; FILE *fp; if((fp = fopen(fname,"r"))==NULL){ fprintf(stderr,"fopen error for %s\n", fname); exit(1); } else{ printf("Success!\n"); printf("Opening \"%s\" in \"r\" mode!\n",fname); } fclose(fp); exi..

    C / LINUX fopen() freopen() fdopen()

    함수 기능 fopen 파일을 여는 함수 freopen 파일을 닫고 다시 열어주는 함수 fdopen 파일을 파일 디스크립터로 여는 함수 함수 원형 #include FILE *fopen(const char *filepath, const char *mode); FILE *freopen(const char *filepath, const char *mode, FILE *fp); FILE *fdopen(int fd, const char *mode); 리턴 값 : 성공 시 파일포인터 , 에러시 NULL 리턴 함수 파라메터 filepath 열려고하는 파일의 경로 mode r,rb - 파일을 읽기전용으로 오픈 w,wb - 파일을 쓰기전용으로 오픈 a,ab - 파일에 데이터를 추가하기 위해 오픈 r+, rb+, r+b -..

    C / Linux open() 함수

    함수 기능 파일을 오픈하거나 생성할 때 사용하는 system call 함수 원형 #include #include #include int open(const char *pathname, int oflag, mode_t mode) 함수 파라메터 pathname 파일의 경로 oflag (필수) O_RDONLY - 읽기모드 O_WRONLY - 작성모드 O_RDWR - 읽기/작성 모드 (선택) O_APPEND - 파일 작성시 기존 파일의 마지막 부분부터 이어 작성 O_CREAT - 파일 생성 O_EXCL(exclusive) - O_CREAT와 함께 사용하며 만약 파일이 존재한다면 에러리턴 O_TRUNC - 파일이 있으면 파일 초기화하며 OPEN mode_t mode O_CREAT 사용시 사용해아하는 옵션이다. 파..