- Today
- Total
Recent Posts
Recent Comments
Archives
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 파이썬 강의
- 중간시험
- c언어
- 파이썬활용
- 자료구조
- 파이썬 자료구조
- selenium
- 알고리즘
- 크롤링
- 코딩문제
- 파이썬 입문
- 채용문제
- python 중간고사
- 파이썬 알고리즘
- 알고리즘 강좌
- Crawling
- 알고리즘 강의
- python data structure
- 대학시험
- 기말시험
- 면접 파이썬
- gdrive
- 셀레니움
- 코딩시험
- 자료구조 강의
- 파이썬
- 파이썬 강좌
- 프로그래밍
- 쉬운 파이썬
- 파이썬3
Notice
반원 블로그
[C 프로그래밍] 파일 출력 함수_2.바이너리 모드 본문
#1 바이너리 모드의 특징
- 메모리에 저장된 2진수(binary)값을 직접 읽고 쓴다.
- 변수를 파일에 저장하려면, 바이너리 값을 쓰고 읽으면 된다.
- 바이너리 값을 파일에 읽고 쓰려면, b 를 붙여주면 된다.(rb, wb)
//바이너리 읽기 모드 fopen("data.txt","rb"); //바이너리 쓰기 모드 fopen("data.txt","wb");
//바이너리 파일 읽어오기 size_t fread(void *ptr, size_t size, size_t nitems, FILE *stream); //바이너리 파일에 쓰기 size_t fwrite( void *ptr, size_t size, size_t nitems, FILE *stream);
#3 구조체 구조를 파일을 저장하기
- 바이너리 정보를 저장하면 구조체를 저장 할 수 있다.
연습 3-1
1. 정수형 필드 변수 val1, 부동소수형 필드 변수 val2를 가진 Node를 하나 선언하자.
#include <stdio.h> #include <stdlib.h> struct Node{ int val; float val2; }
2. 1을 토대로 다음 코드를 작성한다.
void main(){ FILE *fp; //파일 포인터 선언 struct Node *item; //구조체 변수 선언 fp = fopen("data.txt","wb"); //data.txt 파일을 바이너리 쓰기 모드로 오픈 //구조체 값 설정 item = (struct Node*)malloc(sizeof(struct Node)); item->val1 = 1; item->val2 = 2.1f; //구조체의 값을 파일에 저장 fwrite((void*)item, sizeof(struct Node), 1, fp); //파일 포인터 해제 fclose(fp); }
#4 파일에 저장되어 있는 값 읽어오기
연습 4-1
void main(){ // 파일 포인터 선언 FILE *fp; struct Node *item; // data.txt 파일을 바이너리 읽기 모드로 오픈 fp = fopen("data.txt", "rb"); // 파일에서 읽어온 값을 구조체에 저장 item = (struct Node*)malloc(sizeof(struct Node)); fread((void*)item, sizeof(struct Node), 1, fp); //파일에서 불러온 구조체의 값을 화면에 출력 printf(" item->val1 = %d\n", item->val1); printf(" item->val2 = %.2f\n", item->val2); fclose(fp); //파일 포인터 해제 }
#5 다음 포스팅에서는 연결 리스트를 파일에 저장하고 불러오는 방법을 다룬다.
'2017 > C 프로그래밍' 카테고리의 다른 글
[C 프로그래밍] 구조체_1.기본이론 (0) | 2017.02.26 |
---|---|
[C 프로그래밍] 동적 메모리_4.실습_연결리스트1(Linked List) (0) | 2017.02.25 |
[C 프로그래밍] 동적 메모리_3.이론_연결리스트1(Linked List) (0) | 2017.02.24 |
[C 프로그래밍] 동적 메모리_2.sizeof 응용 (0) | 2017.02.22 |
[C 프로그래밍] 동적 메모리_1.기본이론 (0) | 2017.02.21 |
[C 프로그래밍] 파일 출력 함수_3.연결 리스트 저장, 불러오기 (0) | 2017.02.19 |
[C 프로그래밍] 파일 출력 함수_1.기본 (0) | 2017.02.17 |
[C 프로그래밍] 파일 입력 함수 (0) | 2017.02.17 |
Comments