336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

개념 : 


1. fseek 함수를 대체 하여 fsetpos를 사용할 수 있다.


2. ftell 함수를 대체 하여 fgetpos를 사용할 수 있다.


3. fpos_t 형 자료를 쓰며 정수를 기록할수 있고 기준 점은 첫 시작 포인터 이다


4. write 모드 에서 사용해야 한다.


5. 원형 


int fgetpos(FILE *stream, fpos_t *pos)


int fsetpos(FILE *stream, const fpos_t *pos)




소스코드: main.c


#include <stdio.h>




void main(void)


{


int returnValue = 0;


FILE *write = 0, *read = 0;

fpos_t pos = 0 , move = 0;


char szBuffer[256] = { 0, };




fopen_s(&write, "E:\\300\\113\\file.txt", "w+");




if (write == NULL)


{


puts("fail : create file");


}


else


{

fgetpos(write, &pos);


printf_s("기록 전 파일 포인터의 위치 : %d\n", pos );


fputs("write text", write);


puts("write text");


fgetpos(write, &pos);


printf_s("기록 후 파일 포인터의 위치 : %d\n", pos);




puts("fset pos 를 이용해 파일 위치를 처음 이동");


move = 0;

fsetpos(write, &move);


//returnValue = fseek(write, 6, SEEK_SET);

move = 6;

fsetpos(write, &move);


fgetpos(write, &pos);

printf_s(" fsetpos : move (6), 호출 후 파일 포인터의 위치 : %d\n", pos);


fputs("call fsetpos : 6 ", write);


fgetpos(write, &pos);


printf_s("마지막 포인터 위치 : %d \n", pos);


fclose(write);



// 파일 읽기 모두로 생성하여  확인


fopen_s(&read, "E:\\300\\113\\file.txt", "r");


if (read == NULL)


{


puts("faild read file");


}


else


{


fgets(szBuffer, sizeof(szBuffer), read);


puts(szBuffer);


fclose(read);


}


}

}




결과





#파일포인터구하기,#fsetpos,#fgetpos,#프로그램입문,#c언어,#c언어입문

+ Recent posts