- 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언어
- 코딩시험
- 파이썬 자료구조
- 파이썬 입문
- 파이썬3
- 면접 파이썬
- 파이썬 알고리즘
- 자료구조
- Crawling
- 알고리즘 강좌
- 대학시험
- 채용문제
- gdrive
- 파이썬활용
- 코딩문제
- 쉬운 파이썬
- 파이썬
- python data structure
- 자료구조 강의
- 중간시험
- 알고리즘
- 셀레니움
- selenium
- 파이썬 강의
- 기말시험
- 크롤링
- 알고리즘 강의
- python 중간고사
- 파이썬 강좌
- 프로그래밍
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