Ocean_
꾸준한 프로그래밍
Ocean_
전체 방문자
오늘
어제
  • 분류 전체보기 (174)
    • About Me (4)
    • 우아한테크코스 (27)
    • C & LINUX (50)
    • Operating System (12)
    • Database (25)
    • Computer Vision (0)
    • Problem Solving (0)
      • Programmers (0)
      • BOJ (0)
    • 코코코딩공부 (44)
      • Spring (12)
      • JAVA (14)
      • 디자인 패턴 (4)
      • 책 읽기 (4)

블로그 메뉴

  • 홈
  • 방명록

공지사항

인기 글

태그

  • 우테코5기
  • OS
  • Spring
  • 우테코 체스
  • 리눅스
  • 자바
  • C++
  • 우아한테크코스
  • 백준
  • 프로세스
  • signal
  • bean
  • BOJ
  • 블랙잭
  • 원시값 포장
  • 1259
  • 트랜잭션
  • DB
  • 정규화
  • 우테코
  • 우아한형제들
  • Linux
  • 운영체제
  • 인덱스
  • OperatingSystem
  • 데이터 조작어
  • C
  • 우아한테크코스5기
  • SIGINT
  • Operating System

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Ocean_

꾸준한 프로그래밍

C / LINUX  ftell(3) fseek(3) rewind(3)
C & LINUX

C / LINUX ftell(3) fseek(3) rewind(3)

2022. 5. 2. 13:46
#include<stdio.h>
#include<stdlib.h>

int main(void){
    char *fname = "ssu_test.txt";
    FILE *fp;
    long position;
    int character;

    if ((fp=fopen(fname,"r"))==NULL){
        fprintf(stderr, "fopen error for %s\n",fname);
        exit(1);
    }

    printf("Input number>>");
    scanf("%ld",&position);
    fseek(fp,position-1,SEEK_SET);
    character=getc(fp);
    printf("%ldth character -> %c\n",position,character);
    exit(0);
}

함수 기능

ftell

파일 스트림의 현재 오프셋 위치가 파일의 시작부터 몇 바이트만큼 떨어져 있는지 알려주는 함수

fseek

파일 입출력시 파일스트림의 현재오프셋 위치를 재조정하여 지정된 위치로 이동시키는 함수

rewind

파일 스트림의 현재 오프셋 위치를 맨처음 위치로 설정하고 파일의 맨 처음으로 이동

함수 원형

#include <stdio.h>
long ftell(FILE *fp);
int fseek(FILE *fp, long offset, int whence);
void rewind(FILE *fp);

함수 파라메터

fp

파일 포인터

offset

어느정도 이동시킬지 offset

whence

lseek의 값과 동일

 

함수 예제

ftell

#include<stdio.h>
#include<stdlib.h>

int main(void){
    char *fname = "ssu_test.txt";
    FILE *fp;
    long fsize;

    if((fp=fopen(fname,"r"))==NULL){
        fprintf(stderr,"fopen error for %s\n",fname);
        exit(1);
    }

    fseek(fp,0,SEEK_END);
    fsize=ftell(fp);
    printf("The size of<%s> is %ld bytes\n",fname,fsize);
    exit(0);
}

fseek

 

함수 결과

ftell

fseek

 

리눅스시스템 프로그래밍 - 홍지만 저

교재 내에 있는 예제를 바탕으로 작성한 글 입니다.

'C & LINUX' 카테고리의 다른 글

C / LINUX sprintf(3) snprintf(3)  (0) 2022.05.02
C / LINUX printf(3) fprintf(3)  (0) 2022.05.02
C / LINUX fread(3), fwrite(3)  (0) 2022.05.02
C / LINUX stat() fstat() lstat()  (0) 2022.05.01
C / LINUX dup() dup2()  (0) 2022.05.01
    'C & LINUX' 카테고리의 다른 글
    • C / LINUX sprintf(3) snprintf(3)
    • C / LINUX printf(3) fprintf(3)
    • C / LINUX fread(3), fwrite(3)
    • C / LINUX stat() fstat() lstat()
    Ocean_
    Ocean_
    dongVeloper

    티스토리툴바