성균관대학교 전기전자프로그래밍(전전프) 1.파일의입출력
- 최초 등록일
- 2014.09.26
- 최종 저작일
- 2013.03
- 9페이지/
한컴오피스
- 가격 1,000원
![할인쿠폰받기](/images/v4/document/ico_det_coupon.gif)
소개글
전기전자프로그래밍 민형복교수님 레포트
목차
1. Introduction
2. Problem Statement
① Describe what is the problem
② Describe how do you solve the problem.
③ Draw a flowchart of your algorithm
3. Implementation
4. Result
5. Conclusion & Evaluation
본문내용
1. Introduction
파일 입출력에 관한 함수(fopen(), fclose(), fscanf(), fgets(), fseek(), ftell(), fread(), fwrite())와 Text File, Binary File의 이해, 각 file 의 특성 등에 대해 이해하고 실습에 주어진 문제에 맞게 활용한다.
2. Problem Statement
① Describe what is the problem
int readTXTwriteBIN(char *infile, char *binary)함수와 int readBINwriteTXT(char *binary, char *outfile) 함수를 작성해야 하는 문제이다.
int readTXTwriteBIN(char *infile, char *binary)함수는 주어진 infile.txt 텍스트 파일을 읽어와 바이너리 파일로 저장하는 함수이다. 이 때, 현재 우리가 사용하고 있는 PC는 little endian 형식을 이용하므로, 이용해 big endian 형식으로 바꾸어 저장하는 법을 알아야한다. int readBINwriteTXT(char *binary, char *outfile) 함수는 저장된 바이너리 파일을 읽어와 다시 텍스트 파일로 저장하는 함수이다.
<중 략>
처음부터 현재 위치까지의 크기를 읽어주는 함수가 ftell 이라는 것을 깨닫고 fseek함수를 이용하여 포인터의 위치를 SEEK_END, 즉 파일의 끝까지 옮겨준 뒤에 사이즈를 출력시키고, 다시 SEEK_SET, 파일의 처음부분으로 포인터의 위치를 다시 옮겨 주었다. 그 다음, binary파일에 저장되어있던 데이터를 읽어들이기 위해 fread함수를 사용하였다. 이 때 배열에 원하는 데이터만 읽고 나머지 값은 0으로 만들기 위해 fread함수를 사용하기전에 모든 포인터들을 0으로 초기화 해주었다. 파일을 모두 읽은 후 big endian 이였던 데이터들을 다시 little endian으로 바꿔주었다. little endian 으로 변환 된 값을 fprintf함수를 이용하여 출력시키니 outfile.txt에 infile.txt와 같은 결과가 쓰여졌다.
참고 자료
없음