검색결과 리스트
글
ftell, fseek 함수
ftell 함수
#include <stdio.h>
long int ftell (FILE * stream);
/*
파일 전체의 크기를 읽어온다. pFile 을 파일 끝으로 선택한 뒤, ftell 함수를 통해서 파일 처음 부터 pFile 까지, 즉 파일 처음 부터 끝 까지의 바이트 수를 계산한다.
이 예제는
http://www.cplusplus.com/reference/clibrary/cstdio/ftell/
에서 가져왔습니다.
*/
#include <stdio.h>
int main ()
{
FILE * pFile;
long size;
pFile = fopen ("myfile.txt","rb");
if (pFile==NULL)
perror ("Error opening file");
else
{
fseek (pFile, 0, SEEK_END);
size=ftell (pFile);
fclose (pFile);
printf ("Size of myfile.txt: %ld bytes.\n",size);
}
return 0;
}
스트림의 위치 지정자의 형재 위치를 구한다.
위치 포인터가 가진 값이 리턴된다. -> 현재 파일의 끝에 위치포인터가 있을것이므로, 파일 처음부터 끝까지의 바이트수가 리턴된다.
파일 전체의 크기를 읽어온다. pFile 을 파일 끝으로 선택한 뒤, ftell 함수를 통해서 파일 처음 부터 pFile 까지, 즉 파일 처음 부터 끝 까지의 바이트 수를 계산한다.
fseek 함수
#include<stdio.h>
int fseek(FILE * stream, long int offset, int origin);
/*
example.txt 에 "This is an apple" 을 쓴 뒤에 다시 fseek 함수를 이용하여 n 부터 sam 으로 바꾼다. 즉, example.txt 에는 "This is an sample" 이 들어가게 된다.
이 예제는 http://www.cplusplus.com/reference/clibrary/cstdio/fseek/
에서 가져왔습니다.
*/
#include <stdio.h>
int main ()
{
FILE * pFile;
pFile = fopen ( "example.txt" , "w" );
fputs ( "This is an apple." , pFile );
fseek ( pFile , 9 , SEEK_SET );
fputs ( " sam" , pFile );
fclose ( pFile );
return 0;
}
스트림 위치 지정자의 위치를 조정한다.
origin 인자로 전달된 위치로부터 offset인자로 전달된 만큼 더한 위치로 위치지정자를 이동시킨다. 이 함수를 호출한 이후에는 파일 끝 지정자가 초기화된다.
origin 인자에는 다음과 같은 상수들이 들어간다.
SEEK_SET : 파일의 시작
SEEK_CUR : 현재 파일 포인터의 위치
SEEK_END : 파일의 끝
성공시엔 0을 리턴, 실패시엔 0이 아닌값을 리턴한다.
'programing' 카테고리의 다른 글
10-2 C++ (0) | 2014.10.02 |
---|---|
09/18 c++ 강의 (0) | 2014.09.18 |
c++ 강의 9/11 (0) | 2014.09.11 |
파일 위치 지시자 (0) | 2014.06.07 |
calloc realloc 조사 (0) | 2014.06.06 |
RECENT COMMENT