
fstat 함수를 사용하기 위해 open 함수를 사용할 때 모드에 대한 이해는 매우 중요합니다. 모드는 파일을 읽기, 쓰기, 읽기/쓰기 모드 중 하나를 선택하는데, 모드에 따라 파일의 내용이 달라집니다.
읽기 모드는 'r'로 시작하는 모드입니다. 예를 들어, 'r'은 읽기 모드, 'rb'은 바이너리 읽기 모드, 'rt'은 텍스트 읽기 모드입니다. 읽기 모드는 파일의 내용을 읽기만 허용합니다.
쓰기 모드는 'w'로 시작하는 모드입니다. 예를 들어, 'w'은 쓰기 모드, 'wb'은 바이너리 쓰기 모드, 'wt'은 텍스트 쓰기 모드입니다. 쓰기 모드는 파일의 내용을 쓰기만 허용합니다.
읽기/쓰기 모드는 'a'로 시작하는 모드입니다. 예를 들어, 'a'은 읽기/쓰기 모드, 'ab'은 바이너리 읽기/쓰기 모드, 'at'은 텍스트 읽기/쓰기 모드입니다. 읽기/쓰기 모드는 파일의 내용을 읽고 쓰기 허용합니다.
바이너리 모드는 'b'으로 시작하는 모드입니다. 예를 들어, 'rb'은 바이너리 읽기 모드, 'wb'은 바이너리 쓰기 모드입니다. 바이너리 모드는 파일의 내용을 바이너리 형식으로 처리합니다.
텍스트 모드는 't'으로 시작하는 모드입니다. 예를 들어, 'rt'은 텍스트 읽기 모드, 'wt'은 텍스트 쓰기 모드입니다. 텍스트 모드는 파일의 내용을 텍스트 형식으로 처리합니다.
예를 들어, 다음 코드는 'example.txt' 파일을 읽기 모드로 열고, 파일의 정보를 구조체에 저장합니다.
#hostingforum.kr
c
#include
#include
#include
int main() {
int fd;
struct stat file_info;
// example.txt 파일을 읽기 모드로 열기
fd = open("example.txt", O_RDONLY);
if (fd == -1) {
perror("open");
return 1;
}
// 파일의 정보를 구조체에 저장하기
if (fstat(fd, &file_info) == -1) {
perror("fstat");
return 1;
}
// 파일의 정보를 출력하기
printf("파일 이름: %sn", file_info.st_name);
printf("파일 크기: %lld bytesn", file_info.st_size);
printf("파일 타입: %dn", file_info.st_mode);
// 파일을 닫기
close(fd);
return 0;
}
이 코드는 'example.txt' 파일을 읽기 모드로 열고, 파일의 정보를 구조체에 저장합니다. 파일의 이름, 크기, 타입을 출력합니다.
2025-04-01 01:13