리눅스 시스템 프로그래밍
#7 저수준 파일 열기/닫기, 스트림 포지션 (실습)
쿠리 Kuri
2022. 9. 12. 18:30
반응형
실습1
low level API 를 이용해 파일을 열고, 간단한 데이터를 써보자.
1. 기본적인 뼈대를 잡아준다.
2.파일을 생성하고 그 안에 데이터를 써놓는 코드를 작성하자.
1. open API를 사용하기 위해선 아래를 추가 해줘야 한다. 추가해주자.
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
2. open("datafile", O_WRONLY | O_CREAT, 0644);
O_WRONLY : 쓰기권한
O_CREAT : 없으면 만들기
0644 : 권한 설정
파일을 생성하면서, 열고,쓰기권한이 있게끔 만든다.
3. dprintf() 함수를 이용해서 파일에 적어준다.
3. 전체적으로 완성된 코드이다.
4. gcc 명령어로 컴파일 해준다.
5. ./open 을 입력하고, ls -al 명령어로 확인해보자.
위에 만들어진 datafile을 살펴보면 권한이 아까 내가 설정 해놓은 644 ( rw, r , r)권한으로 된 것을 알 수 있다!
6. cat datafile 명령어를 이용해 내용이 잘 입력됐는지 확인 해주자.
실습2
파일이있는경우 파일 사이즈를0으로 만드는 trunc플래그를 테스트해보자.
1. 위에 만들었던 소스코드에 아래의 trunc_file 함수를 추가해준다.
2. 완성된 전체 소스코드이다.
3. gcc 명령어를 이용해 컴파일 한후, cat datafile로 읽어보자.
정상적으로 그 전에 썼던 것이 사라지고, byebye file만 출력된 것을 알 수 있다.
실습 3
append 를 이용해 내용을 추가해보자.
1. 위에 만들었던 소스코드에 아래의 append_file 함수를 추가해준다.
기존에 만들었던 파일에 쓸 것이기 때문에, O_CREAT나, 권한설정이 필요가 없다.
2. 완성된 소스코드이다.
3. gcc 명령어를 이용해 컴파일 한후, cat datafile로 읽어보자.
정상적으로 byebye file 뒤에 추가 된 것을 알 수 있다.
반응형