일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- length
- Class
- aduino
- APP
- atmega328
- Read
- Barcode
- mfc
- Pointer
- memory
- inheritance
- compare
- Encapusulation
- Overloading
- UNO
- public
- flutter
- preprocessing
- SERIAL
- sensor
- Android
- parameter
- Contour
- wpf
- stream
- Binary
- java
- Unity
- file access
- digitalRead
- Today
- Total
폴크(FOLC)
C 파일 연동 본문
# 파일 종류
> text file : 문자열의 모임으로 바로 확인 가능 ( TxT 뷰어 이용 )
> binary file : 0, 1의 이진 형식으로 바로 확인 불가능 ( 별도 뷰어 필요 )
# 파일은 buffer (임시 메모리 공간)를 통해서 접근
> fully buffered ( 파일 연동 ) : 버퍼에 데이터를 더 이상 담지 못할때 보내는 방식
> line buffered ( 키보드 연동 ) : 버퍼에 데이터를 담고 개행 문자(\n) 가 담겼을때 보내는 방식
> buffer clear : fflush 명령어를 이용해서 버퍼 내용 삭제
- int fflush(FILE *stream);
- 출력 스트림과 연결, NULL 포인터를 연결하면 내용을 삭제
- 정상 : 0, 실패 : EOF
# 파일 연동
> HDD 에 저장되는 정보, 연속적인 byte 의 모임
> 스트림을 이용
- fopen : 파일을 열어주는 함수 ( 입/출력 스트림 연결 )
: FILE *fopen(const char *filename, const char *mode);
- fclose : 파일을 닫아주는 함수 ( 입/출력 스트림 해제 )
: int fclose(FILE *stream);
- fscanf : 서식을 이용해서 데이터를 입력 받음 ( 실패 : EOF 반환 )
- fprintf : 서식을 이용해서 데이터를 출력 시킴 ( 실패 : 음수 반환 )
- mode : r ( 읽기 전용 ), w ( 쓰기 전용 ), a ( 추가 ), t ( text file ), b ( binary file ) 등등
# 예제 소스
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE *pFile = fopen("text_file_sample.txt", "w");
if(pFile != NULL)
{
int value = 0;
int count = fscanf(pFile, "%d", &value);
fprintf(pFile, "%d", value);
fclose(pFile);
}
return 0;
}
'교육 관련 > C' 카테고리의 다른 글
C 사용자 정의 자료형 (0) | 2022.01.22 |
---|---|
C 입/출력 및 문자열 (0) | 2022.01.21 |
C 메모리는? (0) | 2022.01.20 |
C 파라미터 전달 방법 (0) | 2022.01.17 |
C 배열 과 포인터 (0) | 2022.01.14 |