본문으로 바로가기
homeimage

파일디렉토리

해당되는 글 31
  • thumbnail
    컴퓨터/프로그래밍

    C언어 파일 읽기 함수 read()

    C read() 파일 읽기 함수 open() 함수로 열기한 파일의 내용을 읽기 합니다. 헤더: unistd.h 형태: ssize_t read (int fd, void *buf, size_t nbytes) 인수: int fd 파일 디스크립터 void *buf 파일을 읽어 들일 버퍼 size_t nbytes 퍼버의 크기 반환: ssize_t == -1 실패 > 0 정상적으로 실행되었다면 읽어들인 바이트 수 C언어 read() 함수 예제 예제에 사용할 test.txt 파일에는 아래와 같이 5바이트씩 문장이 입력되어 있습니다. 12345 ABCDE abcde 67890 표준 출력함수 fgets() 에는 버퍼가 크더라도 파일의 첫 번째 행만 읽어서 반환하지만 read()는 버퍼의 크기만큼 읽을 수 있다면 모두 읽..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 파일로 서식에 맞추어 문자열 출력 함수 dprintf()

    C dprintf() 파일로 서식에 맞추어 문자열 출력 함수 서식에 맞추어 파일로 출력합니다. 헤더: stdio.h 형태: int dprintf( int fd, const char *format, ...) 인수: int fd 파일 디스크립터 const char *format 출력할 데이터 서식 ... 서식에 맞춘 변수 나열 반환: int 출력된 문자 수를 반환하며 오류가 발생하면 음수를 반환합니다. 서실 변환 문자열 변환 문자열 의미 %o 8진 정수 형식으로 입력 %d 10진 정수 형식으로 입력 %ld long형 10진 정수 형식으로 입력 %x 16진 정수 형식으로 입력 %f float 형 형식으로 입력 %lf double 형 형식으로 입력 %c 문자 형식으로 입력 %s 문자열 형식으로 입력 서식 문자열..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 파일 디스크립터 복사본 만들기 함수 dup2()

    C dup2() 함수 파일 디스크립터 복사본 만들기 함수 파일 디스크립터 복사본을 만듭니다. 원본 디스크립터와 복사된 디스크립터의 읽기/쓰기 포인터는 공유됩니다. 즉, 원본과 복사본 디스크립터마다 따로 읽기/쓰기 포인터가 존재하지 않습니다. 헤더: unistd.h 형태: int dup(int fildes) 인수: int fildes 파일 디스크립터 반환: int 복사된 파일 디스크립터 번호로 사용되지 않은 가장 작은 번호가 자동으로 지정되어 반환됩니다. 함수 실행이 실패되면 -1 이 반환됩니다. 파일 디스크립터 복사본을 만드는 함수로는 dup()와 dup2()이 있습니다. dup()는 사용하지 않는 디스크립터 번호 하나가 자동으로 지정되지만 dup2()는 프로그래머가 원하는 번호로 지정할 수 있습니다. ..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 파일 디스크립터 복사본 만들기 함수 dup()

    C dup() 파일 디스크립터 복사본 만들기 함수 파일 디스크립터 복사본을 만듭니다. 원본 디스크립터와 복사된 디스크립터의 읽기/쓰기 포인터는 공유됩니다. 즉, 원본과 복사본 디스크립터마다 따로 읽기/쓰기 포인터가 존재하지 않습니다. 헤더: unistd.h 형태: int dup(int fildes) 인수: int fildes 파일 디스크립터 반환: int 복사된 파일 디스크립터 번호로 사용되지 않은 가장 작은 번호가 자동으로 지정되어 반환됩니다. 함수 실행이 실패되면 -1 이 반환됩니다. 파일 디스크립터 복사본을 만드는 함수로는 dup()와 dup2()이 있습니다. dup()는 사용하지 않는 디스크립터 번호 하나가 자동으로 지정되지만 dup2()는 프로그래머가 원하는 번호로 지정할 수 있습니다. 지정한 ..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 파일을 지정한 크기로 변경 함수 truncate()

    C truncate() 파일을 지정한 크기로 변경 함수 파일을 지정한 크기로 변경합니다. 헤더: unistd.h 형태: int truncate(const char *path, off_t length) 인수: char *path 경로 포함 파일 전체 이름 off_t length 파일 크기 반환: int 0 == 성공, -1 == 실패 파일 크기를 변경하는 함수에는 2 가지가 있습니다. truncate() : 파일 이름으로 파일 크기를 변경 ftruncate() : 파일 디스크립터로 파일 크기를 변경 C언어 truncate() 함수 예제 예제에서는 파일의 크기를 100 byte로 변경합니다. 파일이 지정된 크기보다 작다면 나머지 채워지는 부분은 '\0'으로 채워지게 됩니다. #include // puts()..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 디스크립터에서 스트림 포인터 구하기 함수 fdopen()

    C fdopen() 디스크립터에서 스트림 포인터 구하기 함수 디스크립터에서 파일 스트림 포인터를 구합니다. 즉, open()함수로 구한 디스크립터의 값에서 fopen()으로 구하는 FILE * 포인터 값을 구합니다. 헤더: stdio.h 형태: FILE *fdopen(int fildes, const char *mode) 인수: int 파일 디스크립터 char *mode 파일 열기를 위한 옵션 반환: FILE * 포인터 또는 실패 시 NULL 파일 열기 옵션 mode mode 설명 "r" 읽기 전용. 파일이 반드시 있어야 합니다. "r+" 읽기와 쓰기용으로 열기 "w" 쓰기 전용. 파일이 없으면 생성되고, 파일이 있다면 기존 내용은 지워집니다. "w+" 읽기와 쓰기용으로 열기 "a" 내용 추가. 파일이 없..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 디렉토리 만들기 함수 mkdir()

    C mkdir() 디렉토리 만들기 함수 C언어 함수 mkdir()은 디렉토리를 생성합니다. 헤더: sys/stat.h 형태: int mkdir(const char *path, mode_t mode); 인수: char *path 생성할 디렉토리 전제 이름 mode_t mode 접근 권한 지정 반환: int 0 == 생성 성공, -1 == 생성 실패 C언어 mkdir() 함수 예제 #include #include #include #include int main() { DIR *dir_info; struct dirent *dir_entry; mkdir( "test_A" , 0755); // 실행 파일이 있는 곳에 생성 mkdir( "test_B" , 0755); // 실행 파일이 있는 곳에 생성 dir_inf..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 파일의 임의의 위치로 읽기·쓰기 포인터 이동 함수 lseek()

    C lseek() 파일의 임의의 위치로 읽기·쓰기 포인터 이동 함수 파일의 읽기/쓰기 위치를 파일의 처음 위치로 초기화합니다. 파일의 위치는 기준 옵션에 따라 앞으로 또는 뒤로 읽기/쓰기 위치로 건너 띕니다. 헤더: stdio.h 형태: off_t lseek(int fildes, off_t offset, int whence) 인수: int fildes 파일 디스크립트 off_t offset 이동할 바이트 수 int whence 시작 시점 반환: off_t 변경된 읽기/쓰기 포인터 파일의 읽기/쓰기 위치를 파일의 처음 위치로 초기화합니다. 파일의 위치는 기준 옵션에 따라 앞으로 또는 뒤로 읽기/쓰기 위치로 건너 띕니다. 건너 띈다는 말씀은 인수로 받은 숫자의 위치로 이동한다는 뜻이 아니라 건너 띄듯이 co..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 레코드 잠금 함수 fcntl()

    C함수 fcntl() 레코드 잠금 fcntl() 함수는 파일을 전체나 파일의 일부를 다른 프로세스에서 사용하는 것을 제한 해 주는 함수입니다. 헤더: unistd.h, fcntl.h 형태: int fcntl(int fd, int cmd, struct flock * lock) 인수: int fd 제어 대상 파일 디스크립터 int cmd 제어 동작 명령 struct flock * lock 잠금을 위한 옵션 반환: -1 == 실패, 이외는 cmd에 따라 달라짐 파일을 열기할 때 open() 함수나 fopen() 함수의 mode를 이용하여 다른 프로세스가 읽기나 쓰기를 제한할 수 있습니다. 그러나 이것은 파일 전체에 대해 적용되며 제한을 변경하기 위해서는 파일을 닫았다가 다시 열열어 합니다. fcntl()은 오..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 파일 존재 접근 권한 확인 함수 access()

    C함수 파일 존재 접근 권한 확인 access() access()는 프로세스가 지정한 파일이 존재하는지, 읽거나 쓰거나 실행이 가능한 지를 확인하는 함수입니다. 만일 지정한 파일이 심볼릭 링크라면 링크의 원본을 체크합니다. 헤더: unistd.h 형태: int access(const char *pathname, int mode) 인수: char *pathname 파일이나 디렉토리 전체 이름 int mode 검사할 내용 반환: 0 == 가능 또는 파일이 존재함 -1 == mode 에 대해 하나 이상 거절되었거나 에러가 있음. 자세한 내용은 errno에 세팅됨 access()의 첫 번째 인자는 파일이나 디렉토리의 전체 이름이며, 두 번째 인자는 체크할 내용을 지정하게 됩니다. int access(const ..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 버퍼 내용을 디스크로 쓰기 함수 fsync()

    C함수 버퍼 내용을 디스크로 쓰기 fsync() 파일로 아직 쓰기가 되지 않은 메모리의 내용을 모두 쓰기가 되도록 합니다. sync()가 모든 메모리에 대해서라면 fsync()는 지정된 파일 디스크립터에 대해 진행합니다. 헤더: unistd.h 형태: int fsync (int fd) 인수: int fd 파일 디스크립터 반환: int 0 == 성공, -1 == 실패 C언어 fsync() 함수 예제 #include #include // strlen() #include // open() #include // sync() int main() { int fd; char *str = "https://badayak.com"; fd = open( "test.txt", O_WRONLY ¦ O_CREAT, 0644); ..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 버퍼 내용을 디스크로 쓰기 함수 sync()

    C함수 버퍼 내용을 디스크로 쓰기 sync() 파일로 아직 쓰기가 되지 않은 메모리의 내용을 모두 쓰기가 되도록 합니다. 파일로 쓰기를 하더라도 바로 저장되지 않고 메모리 버퍼에 일단 저장되었다가 물리적 디스크로 저장되는데, 정전등의 문제로 중요 자료를 버릴 수 있다고 생각된다면 유용하게 사용할 수 있습니다. 헤더: unistd.h 형태: void sync (void) 인수: - 반환: - C언어 sync() 함수 예제 #include #include // strlen() #include // open() #include // sync() int main() { int fd; char *str = "https://badayak.com\n"; fd = open( "test.txt", O_WRONLY ¦ O..
    최근글
    이모티콘창 닫기
    울음
    안녕
    감사해요
    당황
    피폐

    이모티콘을 클릭하면 댓글창에 입력됩니다.