파일을 출력 할때
FILE * fp = fopen("파일이름.파일형식","모드")
모드 |
설명 |
r |
읽기 전용으로 파일을 연다. 이 모드로 연 파일은 읽을 수만 있으며 데이터를 기록하지는 못한다. 만약 파일이 없을 경우 에러가 리턴된다. |
w |
쓰기 위해 파일을 연다. 이 모드로 연 파일은 쓰기만 가능하며 읽지는 못한다. 도스나 윈도우즈의 파일은 쓰기 전용 속성이 없지만 스트림은 쓰기 전용 상태로 열 수 있다. 파일이 없으면 새로 만들고 이미 존재한다면 기존의 파일은 지워진다. |
a |
추가를 위해 파일을 연다. 추가란 파일의 끝에 다른 정보를 더 써 넣는다는 뜻이다. 이 모드로 연 파일은 오픈 직후에 FP가 파일의 끝으로 이동한다. 파일이 없으면 새로 만든다. |
r+ |
읽고 쓰기가 가능하도록 파일을 연다. 파일이 없을 경우 에러가 리턴된다. |
w+ |
읽고 쓰기가 가능하도록 파일을 연다. 파일이 없을 경우 새로 만든다. |
a+ |
읽기와 추가가 가능하도록 파일을 연다. 파일이 없으면 새로 만든다. |
파일을 쓸때 순서
: file open -> Writing - file close -> file read
파일에 기록하고 꼭 닫아라~!!
닫지 않으면 파일에서 데이터를 불러올수없다 !!! 명심해야 한다!!!
아참 여기서 Tip
scanf("%s", buff);
gets(data);
이렇게 했을때 scanf를 마칠때 엔터를 입력하고 gets를 입력할려고 하면 안될것이다!!
그 이유는 <gets가 scanf 끝났을때 입력되는 enter를 인식함으로 인식이 안된다!!>
그럼으로 방법을 다시 생각해 봐야된다!!1
scanf("%s%c",buff,&c);
이런식으로 입력 해준다면 엔터를 char c에 넣어줌으로 다음에 입력받을 gets함수가 인식될것이다!!!
<파일에 입력 및 출력 할때 사용되는 함수>
fscanf(파일이름, "입력형식",버퍼) ;
파일에서 읽어들일때 사용되는 함수
fprintf(파일이름,"출력형식",버퍼);
파일로 출력할때 사용되는 함수
fgets(버퍼,크기,파일명);
파일로부터 버퍼에 크기-1 만큼 버퍼에 저장된다. 여기서 파일명 대신 stdin으로 할수 있다
그러면 키보드로부터 입력 받는것이다.
그리고 printf를 이용하여 출력!!
fputs(버퍼, 파일명);
버퍼에 입력된 문자열을 파일에 출력된다!! 여기서도 파일명 대신 stdout 로 하여 모니터로
출력할수 있다.
fgetc()
파일 끝에 도달하면 -1를 반환
feof()
파일 끝에 도달하면 1를 반환
'Soft Ware > C 언어!!' 카테고리의 다른 글
함수 포인터에 대해서 !!! (0) | 2011.08.07 |
---|---|
동적 메모리 할당 (0) | 2011.08.07 |
공용체 메모리 패딩 (0) | 2011.08.07 |
구도체 및 함수 인자 값 일 때 메모리상 데이터 (0) | 2011.08.07 |
구도체 비트 필드 !!! <메모리에 저장되는 순서!> (0) | 2011.08.07 |