fseek() : 커서 옮기기, reverse나 rollback처럼 뭐 그런거..
_fcloseall() : 열린 파일 모두 닫기, fclose 여러번 할 필요가 없게 해줌. 리턴 값은 닫은 파일 갯수
참고로 %u는 부호 없는 10진수(부호 있는 10진수는 %d)
C에 올라오는 게시물들을 보면 아시겠지만 너무 찾기도 쉽고 조금만 공부해보면 대부분 아는 내용들 혹은
알 수 있는 내용들에는 전혀 언급을 안합니다. 이렇게 불친절하게 올릴거 왜 올리냐 하지 마시길~
#include <stdio.h>
#include <string.h>
#define buf 20
FILE *fp1, *fp2;
int main(void)
{
int i=0;
char arr[buf];
//int numclosed;
errno_t err;
err = fopen_s(&fp1, "test.txt", "w"); // fopen() 대신 fopen_s()를 사용하였다.
// 첫번째 인수가 FILE 포인터인 것을 빼면 별 다를 것 없다.
// 리턴 값은 errno_t형 err에 저장되었는데, 실패하면 0
if(!err) // open에 실패했을 경우 0이 err에 대입되었으니 아래 문장이 실행될 것이다.
printf_s("1test.txt file was not opened\n",stdout);
else
{
fprintf_s(fp1, "Hello file I/O!?\n");
//fseek( fp1, 0L, SEEK_SET );
}
fclose(fp1);
err = fopen_s(&fp2, "test.txt", "r");
if(err)
printf_s("2test.txt file was not opened\n",stdout);
else
{
while(1)
{
fscanf_s(fp2, "%c", &arr[i], 1); // %s로 읽으면 공백에서 끊어져버린다.
if( arr[i] == '\n' ) break; // 그래서 %c로 개행문자(\n)이 나올 때까지 읽기
i++;
}
arr[i] = 0;
printf("%s\n", arr);
}
fclose(fp2);
/*
numclosed = _fcloseall();
printf("Number of closed file : %u\n", numclosed);
*/
return 0;
}
'Programming Languages > C' 카테고리의 다른 글
가변 인자 함수 1 (0) | 2010.08.31 |
---|---|
포인터 다루기 (0) | 2010.04.08 |
재귀 함수 (0) | 2010.03.09 |
fflush.c (0) | 2010.01.12 |
char_IO.c (0) | 2010.01.12 |