분류 전체보기
-
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 : 현재 파일 오프셋 ..
-
C/C++ fread(3) fwrite(3)C,C++ & Linux 2020. 5. 22. 03:12
함수 기능 파일을 바이너리로 읽거나 쓰는 함수 Linux/Unix 는 바이너리 파일을 구분하지 않기 때문에 큰 의미는 없으나 바이트 단위로 데이터를 읽거나 쓸때 유용합니다. 함수 원형 #include size_t fread(void *ptr, size_t size, size_t nobj, FILE *fp); size_t fwrite(const void *ptr, size_t size, size_t nobj, FILE *fp); 매개변수 ptr 읽거나 쓸 데이터가 저장된 주소 size 읽거나 쓸 오브젝트의 단위 크기 nobj 오브젝트의 갯수 fp 데이터를 읽거나 쓸 파일 포인터 반환값 성공적으로 읽거나 쓴 오브젝트의 갯수 예제 #include #include #include struct ssu_id { c..
-
C/C++ puts(3), fputs(3)C,C++ & Linux 2020. 5. 22. 02:50
함수 기능 파일에 줄 단위 문자열을 출력하는 함수입니다. puts() 는 stdout 파일에 출력합니다. 함수 원형 #include int puts(const char *str); int fputs(const char *str, FILE *fp); 매개변수 str 출력할 문자열 fp 대상 파일 포인터 puts() 의 경우 자동적으로 stdout 이 지정됩니다. 반환값 성공 시 음이 아닌 정수 리턴 에러 시 EOF 리턴 예제 #include #include #include int main(int argc, char *argv[]) { char buf[BUFSIZ]; FILE *fp; // 파일을 읽기 + 쓰기모드로 열기 if ((fp = fopen(argv[1], "w+")) == NULL) { fprin..
-
C/C++ gets(3), fgets(3)C,C++ & Linux 2020. 5. 22. 02:19
함수 기능 라인 단위로 파일을 읽어들이는 함수입니다. gets() 는 표준 입력 파일로부터 개행문자('\n') 를 만날 때까지 읽으며, 개행문자는 널문자로 바꾸어 저장됩니다. fgets() 는 지정된 파일로부터 개행문자 포함 최대 n-1 개의 문자를 읽으며 n 번째 문자는 널문자로 채워집니다. 이 때 개행문자는 버퍼에 그대로 남기 때문에 getchar() 같은 함수로 비워내주는것이 좋습니다. ANSI 표준은 gets() 함수라고 지정되어 있으나 크기 n을 지정할 수 없어서 버퍼 오버플로우가 날 수 있으므로 fgets() 를 쓰는 것이 안전합니다. 함수 원형 #include char *gets(char *buf); char *fgets(char *buf, int n, FILE *fp); 매개변수 buf 읽..