C,C++ & Linux
-
C/C++ fileno(3)C,C++ & Linux 2020. 5. 22. 15:08
함수 기능 파일 포인터에 맵핑되는 파일 디스크립터를 구해주는 함수입니다. 함수 원형 #include int fileno(FILE *fp); 매개변수 fp 파일 디스크립터를 얻고자 하는 파일 포인터 반환값 성공 시 지정한 파일 포인터에 맵핑되는 파일 디스크립터 리턴 에러 시 -1 리턴하고 errno 설정 리눅스시스템프로그래밍 저자 : 홍지만 https://book.naver.com/bookdb/book_detail.nhn?bid=14623672 책에 기술된 예제 프로그램입니다. 책 내부에는 훨씬 더 많은 자료가 있습니다. (개인적으로 좋았습니다.)
-
C/C++ scanf(3), fscanf(3), sscanf(3)C,C++ & Linux 2020. 5. 22. 14:51
함수 기능 형식화된 문자열을 읽어들이는 함수입니다. scanf() 함수는 표준 입력 파일로부터 읽어들입니다. fscanf() 함수는 지정한 파일로부터 읽어들입니다. sscanf() 함수는 지정한 문자열로부터 읽어들입니다. 함수 원형 #include int scanf(const char *format, ...); int fscanf(FILE *fp, const char *format, ...); int sscanf(const char *buf, const char *format, ...); 매개변수 format 형식 지정자 %[*][필드 너비][길이수정자][변환형식] 변환형식 변환형식 설명 d 부호 있는 10진 정수 i 부호 있는 정수, 밑은 입력 형식에 따라 달라짐 o 부호 없는 8진수 u 부호 없는 1..
-
C/C++ sprintf(3), snprintf(3)C,C++ & Linux 2020. 5. 22. 14:16
함수 기능 문자열 배열에 형식에 맞춘 문자열을 출력해주는 함수입니다. printf 와 유사하지만 출력의 대상이 파일이 아니라 배열인 것이 포인트입니다. snprintf() 함수는 sprintf() 함수와 유사하지만 버퍼 크기를 고려하여 최대로 출력가능한 문자의 길이에 제한을 둡니다. 따라서 버퍼 오버플로우에 더 안전합니다. 함수 원형 #include int sprintf(char *buf, const char *format, ...); int snprintf(char *buf, size_t size, const char *format, ...); 매개변수 buf 출력한 문자열이 들어갈 배열 format 형식 지정자 ... 형식 지정자에 들어갈 변수들 리스트 size 출력할 수 있는 최대 글자 수 제한 일..
-
C/C++ printf(3), fprintf(3)C,C++ & Linux 2020. 5. 22. 12:20
함수 기능 주어진 형식에 맞추어진 문자열을 파일에 출력하는 함수입니다. printf() 함수는 stdout(표준 출력 파일)에 출력합니다. 함수 원형 #include int printf(const char *format, ...); int fprintf(FILE *fp, const char *format, ...); 매개변수 format 형식 지정자 % 와 묶어서 다양한 형식을 지정할 수 있습니다. 플래그 플래그 설명 - 필드 안에서 왼쪽으로 정렬 + 항상 부호를 표시 (공백) 부호가 없는 경우 공백을 붙임 # 다른 형식을 이용해서 변환 0 필드 앞쪽의 빈 공간을 0으로 채움 길이 수정자 길이 수정자 설명 hh char h short l long 또는 넓은 문자 ll long long j intmax_t..
-
C/C++ fgetpos(3), fsetpos(3)C,C++ & Linux 2020. 5. 22. 12:03
함수 기능 파일 오프셋을 백업하고 복원할 수 있는 함수입니다. 함수 원형 #include int fgetpos(FILE *fp, fpos_t *pos); int fsetpos(FILE *fp, const fpos_t *pos); 매개변수 fp 대상 파일 포인터 pos 파일의 오프셋 정보가 들어있는 변수 반환값 성공 시 0 리턴 에러 시 0이 아닌 정수 리턴하고 errno 설정 리눅스시스템프로그래밍 저자 : 홍지만 https://book.naver.com/bookdb/book_detail.nhn?bid=14623672 책에 기술된 예제 프로그램입니다. 책 내부에는 훨씬 더 많은 자료가 있습니다. (개인적으로 좋았습니다.)
-
C/C++ rewind(3)C,C++ & Linux 2020. 5. 22. 11:54
함수 기능 파일 오프셋을 맨 처음으로 돌려주는 함수입니다. 함수 원형 #include void rewind(FILE *fp); 매개변수 fp 파일 오프셋을 초기화할 대상 파일 포인터 예제 #include #include #include int main(int argc, char *argv[]) { char *fname = "ssu_test.txt"; FILE *fp; char buf[10]; fp = fopen(fname, "r"); // 처음 10글자를 읽고 if (fread(buf, sizeof(buf), 1, fp) != 1) { fprintf(stderr, "read error\n"); exit(1); } // 화면에 출력 fwrite(buf, sizeof(buf), 1, stdout); putc..
-
C/C++ ftell(3), ftello(3)C,C++ & Linux 2020. 5. 22. 11:29
함수 기능 현재 파일 오프셋의 위치를 알려주는 함수입니다. ftello() 함수는 리턴 값이 off_t 로 long 보다 큰 타입입니다. long 타입으로 오프셋을 표현 할 수 없는 매우 큰 파일에 대해 사용합니다. 함수 원형 #include long ftell(FILE *fp); off_t ftello(FILE *fp); 매개변수 fp 대상 파일 포인터 반환값 성공 시 현재 파일 오프셋을 리턴 에러 시 -1L 을 리턴 예제 #include #include #include int main(int argc, char *argv[]) { char *fname = "ssu_test.txt"; FILE *fp; long fsize; fp = fopen(fname, "r"); // 파일 맨 끝 지점을 기준으로 0..
-
C/C++ fseek(3), fseeko(3)C,C++ & Linux 2020. 5. 22. 11:23
함수 기능 파일 오프셋 포인터를 이동시키는 함수입니다. 파일을 읽거나 쓸 때 오프셋 포인터 위치에 작업이 일어납니다. 쉽게 생각해서 커서라고 fseeko() 함수는 offset 을 off_t 타입으로 표현합니다. 이는 long 보다 큰 타입으로, long 형으로 오프셋을 표현할 수 없는 매우 큰 파일에 대해 사용합니다. 함수 원형 #include int fseek(FILE *fp, long offset, int whence); int fseeko(FILE *fp, off_t offset, int whence); 매개변수 fp 대상 파일 포인터 offset 이동시킬 파일 오프셋 양수, 0, 음수 모두 가능합니다. whence 기준점 SEEK_SET : 파일의 맨 처음 SEEK_CUR : 현재 파일 오프셋 ..