일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 시그널
- kernel
- 시스템
- 컴퓨터구조
- 취약점
- 시스템 프로그래밍
- pwncollege
- C++
- 프로그래밍
- 리눅스
- 드론
- 리버싱
- 워게임
- 알고리즘
- css
- px4
- 시스템해킹
- 커널
- Pwnable.kr
- 어셈블리어
- 리눅스 커널
- 시스템프로그래밍
- Bandit
- Leviathan
- pwn.college
- write up
- C언어
- 리눅스커널
- wargame
- radare2
Archives
- Today
- Total
Computer Security
#8 저수준 파일 문자/문자열 읽고 쓰기 본문
반응형
파일에 쓰기 - formatted
int dprintf(int fd, const char *format, ...);
파라미터
- fd : 파일 디스크립터
- format : 출력 포맷
- ... : 가변 arguments
반환 값
- 성공시 쓰여진 바이트 값
- 실패시 음수
파일에 쓰기 - byte stream
ssize_t write(int fd, const void *buf, size_t count);
ssize_t pwrite(int fd, const void *buf, size_t count, off_t offset);
파라미터
- fd : 파일 디스크립터
- buf : 버퍼 포인터
- count : 저장할 사이즈(바이트)
- offset : 저장할 위치(오프셋, 파일 시작 기준)
반환 값
- 성공 시 실제로 파일에 저장한 사이즈(바이트)
- 단, count 보다 작을 수 있다.
- 실패 시 -1
파일에서 읽기 - byte stream
ssize_t read(int fd, void *buf, size_t count);
ssize_t pread(int fd, void *buf, size_t count, off_t offset);
파라미터
- fd : 파일 디스크립터
- buf : 버퍼 포인터
- count : 저장할 사이즈(바이트)
- offset: 저장할 위치(오프셋, 파일 시작 기준)
반환 값
- 성공 시 실제로 파일에서 읽은 사이즈(바이트)
- 단, count 보다 작을 수 있다.
- 실패 시 -1
파일 디스크립터 --> 파일 포인터 변환
FILE *fdopen(int fd, const char *mode);
파라미터
- fd : 파일 디스크립터
- mode : 권한
반환 값
- 성공 시 파일 포인터(stream)
- 실패 시 NULL
파일 포인터 --> 파일 디스크립터 변환
int fileno(FILE *stream);
파라미터
- stream : 파일 포인터
반환 값
- 성공 시 파일 디스크립터
- 실패 시 -1
반응형
'리눅스 시스템 프로그래밍' 카테고리의 다른 글
#10 파일 구조,하드링크, 소프트링크 (1) | 2022.09.15 |
---|---|
#9 저수준 파일 문자/문자열 읽고 쓰기 (실습) (0) | 2022.09.14 |
#7 저수준 파일 열기/닫기, 스트림 포지션 (실습) (0) | 2022.09.12 |
#6 저수준 파일 열기/닫기, 스트림 포지션 (0) | 2022.09.11 |
#5 파일 읽고 쓰기 (실습) (0) | 2022.09.10 |
Comments