Chapter 12 파일 입출력.

Slides:



Advertisements
Similar presentations
Python Ch.06 RaspberryPi Sejin Oh. Raspberry Pi Python  IDLE(Integrated Development Environment)  라즈베리 파이 배포본들은 일반적으로 파이썬과 파이썬 3 의 IDLE 파 이썬 개발 도구를.
Advertisements

프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
Chapter 12. 배열. 배열  동일한 항목들이 동일한 크기로 연속적으로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는 자료 구조.
6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
1 08 배열. 한국대학교 객체지향연구소 2 C 로 배우는 프로그래밍 기초 2 nd Edition 배열  동일한 자료유형의 여러 변수를 일괄 선언  연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는.
Format String Attack! 포맷 스트링 공격 경일대학교 사이버보안학과 학년 남주호.
컴퓨터와 인터넷.
Part 03 상수, 변수, 자료형 ©우균, 창병모 © 우균, 창병모.
ㅎㅎ 구조체 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스 구조체 배열.
ㅎㅎ 구조체 C++ 프로그래밍 기초 : 객체지향의 시작 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스
쉽게 풀어쓴 C언어 Express 제11장 포인터 C Express Slide 1 (of 27)
제 9 장 포인터.
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
제14장 동적 메모리.
최윤정 Java 프로그래밍 클래스 상속 최윤정
데이터 파일 C 데이터 파일과 스트림(Stream) 텍스트 파일 처리
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 12. 포인터의 이해.
제15장 파일 입출력 문자열을 출력하는 여러가지 방법 (15-2쪽) 문자열만 처리하는 입출력 함수
쉽게 풀어쓴 C언어 Express 제17장 동적메모리와 연결리스트 C Express Slide 1 (of 13)
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 24. 파일 입출력.
8장 함수 함수의 필요성 라이브러리 함수와 사용자 정의 함수 함수의 정의, 원형, 호출 배열을 함수 인자로 전달 재귀호출.
DSP Lab. Week 3 My image Doug Young Suh Media Lab. Rm401
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
DK-128 실습 EEPROM 제어 아이티즌 기술연구소
11 표준 입출력과 파일 입출력 데이터를 읽고 쓰는 다양한 방법 익히기!.
6장. printf와 scanf 함수에 대한 고찰
TCP/IP Socket Programming…
14장. 포인터와 함수에 대한 이해.
11장. 1차원 배열.
C 2장. C 프로그램 시작하기 #include <stdio.h> int main(void) { int num;
C 프로그래밍 C언어 (CSE2035) (Chap11. Derived types-enumerated, structure, and union) (1-1) Sungwook Kim Sogang University Seoul, Korea Tel:
JA A V W. 03.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
프로그래밍 개요
Java의 정석 제 5 장 배 열 Java 정석 남궁성 강의 의
24장. 파일 입출력.
쉽게 풀어쓴 C언어 Express 제14장 포인터 활용 C Express Slide 1 (of 22)
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
프로그래밍 원리 Chapter 05 자바스크립트 기초 신한대학교 IT융합공학부 박 호 균.
DK-128 실습 내부 EEPROM 제어 아이티즌 기술연구소 김태성 연구원
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
Choi Seong Yun 컴퓨터 프로그래밍 기초 #03 : 변수와 자료형 Choi Seong Yun
컴퓨터 프로그래밍 기초 [01] Visual Studio 설치 및 사용방법
컴퓨터 계측 및 실습 디지털 출력 영남대학교 기계공학부.
Canary value 스택 가드(Stack Guard).
데이터 동적 할당 Collection class.
제 15 강 문자와 코드 shcho.pe.kr.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
Chapter 09. 포인터 1.
Homework #12 (1/2) 프로그램을 작성하고, 프로그램과 실행 결과를 프린트하여 제출한다.
Linux 9.X 기초에서 활용까지 Chapter 06 VI 편집기.
함수, 모듈.
TVM ver 최종보고서
구조체(struct)와 공용체(union)
9 브라우저 객체 모델.
Numerical Analysis Programming using NRs
Chapter 11 구조체.
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
동적메모리와 연결 리스트 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원 E304호,
06. 디바이스의 등록과 해제 김진홍
제 29 강 스트링(string) 다루기 s a i s . s T i h t g r i n.
김선균 컴퓨터 프로그래밍 기초 - 12th : 문자열 - 김선균
어서와 C언어는 처음이지 제21장.
개정판 누구나 즐기는 C언어 콘서트 제13장 동적 메모리 출처: pixabay.
Report #2 (기한: 3/16) 데이터 구조 과목의 수강생이 50명이라고 가정한다. 이 학생(학번은 2016????으로 표현됨)들의 중간 시험(0~100), 기말 시험(0~100) 성적을 성적 파일에 작성하라(프로그램을 통해서 또는 수작업으로). 성적 파일을 읽어들여서.
2019 2학기 9장 배열과 포인터 1. 주소, 주소연산자(&) 2. 포인터, 역참조연산자(*) 3. 배열과 포인터.
Presentation transcript:

Chapter 12 파일 입출력

01. 입출력의 개요 입출력 프로그램에서 무엇인가 나가면 출력이고 무엇인가 들어오면 입력 하드웨어적으로 보자면 프로그램은 메모리에서 실행되므로 메모리에서 무엇인가 나가면 출력이고 무엇인가 들 어오면 입력 입출력 장치 입력장치 : 키보드, 하드디스크에 있는 파일, 슈퍼마켓에서 사용하는 바코드 리더기 등 출력장치 : 모니터, 하드디스크에 저장되는 파일, 프린터 등

01. 입출력의 개요 입출력은 하드웨어를 제어하는 복잡한 과정이므로 대부분의 프로그래밍 언어는 입출력을 지원하는 라이브러리 함수(전문가가 개발)를 제공 C 언어는 다양한 입출력장치 중에서 가장 대표적인 키보드와 모니터에 의한 입출력을 표준 입출력으로 정의 지금까지의 많은 예제에서는 표준 입출력 함수를 사용 표준 입출력은 프로그램이 수행되면서 처리되지만 프로그램이 종료되면 입출력의 결과가 사라진다

01. 입출력의 개요 파일 입출력 C 언어는 파일 입출력 함수를 라이브러리 함수로 제공 프로그램에서는 오늘 처리한 결과를 파일에 저장하고 다음번에 그 파일로부터 결과를 읽어들여 처리 C 언어는 파일 입출력 함수를 라이브러리 함수로 제공

02. 파일 포인터 파일로부터 데이터를 입력받고 파일에 데이터를 출력하려면 다음과 같이 파일을 열고, 파일의 입출력을 수행한 뒤, 파일을 닫는 일련의 과정이 필요합니다. 파일 포인터file pointer : 입출력 할 파일을 가리키는 포인터 C 언어는 파일 포인터를 위한 구조체 FILE을 <stdio.h>에서 제공 FILE 구조체 변수를 선언하고 이 변수로 fopen(), fclose() 함수 사용

02. 파일 포인터 fopen() 함수 fclose() 함수 사용 예 fclose() 함수는 fopen() 함수로 개방되어 사용된 파일을 닫는다. 파일에 입출력을 위한 통로 폐쇄 사용 예

02. 파일 포인터 fopen() 함수에서 지정되는 파일의 모드 파일로부터 단순하게 데이터를 입력받는 경우에는 읽기 전용으로, 파일에 데이터를 출력하는 경우에는 쓰기 전 용으로 지정하여 사용 파일에 데이터를 입출력할 때 용도에 적합한 모드로 지정하는 것이 좋다. 적합한 모드의 지정은 파일을 잘못 사용하는 것을 막을 수 있는 방법

02. 파일 포인터 예제 12-1

03. 텍스트 파일의 입출력 – 3.1 문자 단위 입출력 함수 문자 단위의 입출력 함수 : 하나의 문자를 파일에 읽고 쓰기 위한 함수 이 함수는 파일을 대상으로 입출력하는 것을 제외하고는 3장에서 설명한 getchar(), putchar() 함수와 같다 이 함수는 파일 포인터가 가리키는 파일로부터 하나의 문자(바이트)를 unsigned char형으로 읽어서 int 정수 형으로 반환 프로그램에서는 반환되는 정수형을 char형으로 치환하여 사용 읽은 문자가 파일의 마지막인 경우에는 -1을 의미하는 EOF(‘end of file’을 줄인 말로 -1 값을 가짐)를 반환 이 함수는 매개변수로 지정된 char 값(문자)을 파일 포인터가 가리키는 파일에 출력 이 함수의 반환 값은 출력된 문자. 출력이 실패하는 경우 EOF를 반환

03. 텍스트 파일의 입출력 – 3.1 문자 단위 입출력 함수 예제 12-1

03. 텍스트 파일의 입출력 – 3.2 행 단위 입출력 함수 행 단위 입출력 함수 : 파일에 행 단위 문자열을 읽고 쓸 수 있는 함수 이 함수는 파일 포인터가 가리키는 파일로부터 문자열을 읽어 str로 반환 length는 읽을 문자열의 최대 길이를 의미 이 함수는 한 행이 끝나거나, length의 길이만큼 읽었거나, 파일의 끝에 도달하면 그때까지의 문자열을 반환 문자열을 읽을 수 없을 경우 NULL 값을 반환 이 함수는 매개변수로 지정된 문자열을 파일 포인터가 가리키는 파일에 출력 이 함수는 출력이 성공하면 음수가 아닌 값을 반환하고, 실패하면 EOF를 반환

03. 텍스트 파일의 입출력 – 3.2 행 단위 입출력 함수 예제 12-3

03. 텍스트 파일의 입출력 – 3.3 형식 지정 함수 형식 지정 함수 : 형식을 지정하여 파일에 데이터를 읽고 쓰기 위한 함수 이 함수는 파일을 대상으로 입출력하는 것을 제외하고는, 지금까지 표준 입출력으로 사용한 scanf(), printf() 함 수와 같은 방식으로 동작 이 함수에서 사용하는 형식 지정자는 scanf(), printf()에서 사용하는 형식 지정자와 같다 이 함수는 파일 포인터가 가리키는 파일로부터 지정된 형식으로 입력 입력받은 데이터는 input_list의 항목에 저장 이 함수는 입력이 정상적으로 완료되면 입력된 항목의 개수를 반환하고, 오류가 발생하면 EOF를 반환 이 함수는 파일 포인터가 가리키는 파일에 지정된 형식으로 데이터를 출력 output_list의 항목이 지정된 형식으로 파일에 저장 이 함수는 출력이 정상적으로 완료되면 출력된 바이트 수를 반환하고, 오류가 발생하면 음수를 반환

03. 텍스트 파일의 입출력 – 3.3 형식 지정 함수 예제 12-4

04. 2진 파일의 입출력 – 4.1 2진 데이터 입출력 함수 C 언어는 컴퓨터가 처리하는 2진 데이터를 처리하는 fread()와 fwrite() 함수 제공 이 함수는 filepointer가 가리키는 파일로부터 size 크기의 데이터를 count로 지정된 개수만큼 읽어들여 buf 로 지정된 공간에 저장 입력이 수행되면 파일의 현재 위치(파일 내에서 읽어들이는 위치)는 입력된 크기만큼 뒤로 이동

04. 2진 파일의 입출력 – 4.1 2진 데이터 입출력 함수 이 함수는 buf에 저장된 size 크기의 데이터를 count로 지정된 개수만큼 filepointer가 가리키는 파일에 출력 출력이 수행되면 파일의 현재 위치(파일 내에서 읽어들이는 위치)는 입력된 크기만큼 뒤로 이동 교재 488페이지 위에서 둘째 줄 “입력이 수행되면 => 출력이 수행되면”으로 수정 요망

04. 2진 파일의 입출력 – 4.1 2진 데이터 입출력 함수 2진 파일을 개방하기 위한 fopen() 함수의 모드 텍스트 파일을 개방하기 위한 모드와 유사하다. 텍스트 모드 끝에 b를 붙여 사용

04. 2진 파일의 입출력 – 4.1 2진 데이터 입출력 함수 예제 12-5

04. 2진 파일의 입출력 – 4.1 2진 데이터 입출력 함수 예제 12-6

04. 2진 파일의 입출력 – 4.2 임의 접근 함수 임의 접근random access : 파일의 중간부터 데이터를 입출력 하는 방법 이 방법을 이용하면 파일의 중간에 빠르게 접근하여 효율적인 프로그램을 작성 가능 파일 포지션file position 2진 파일에 접근할 때 순차 접근 방법이든 임의 접근 방법이든 파일의 현재 위치를 나타내는 파일 포지션file position 이 존재 즉 2진 파일로부터 데이터를 읽어올 때 현재의 파일 포지션부터 데이터를 읽고, 2진 파일에 데이터를 쓸 때도 같은 형태로 동작

04. 2진 파일의 입출력 – 4.2 임의 접근 함수 파일 포지션을 이동할 수 있는 fseek() 함수 이 함수는 origin을 기준으로 offset으로 지정된 바이트 수만큼 파일 포지션을 이동 origin으로 지정되는 기준점은 상수로 정의된 SEEK_SET, SEEK_CUR, SEEK_END 중 하나

04. 2진 파일의 입출력 – 4.2 임의 접근 함수 예제 12-7

04. 2진 파일의 입출력 – 4.2 임의 접근 함수 예제 12-7 계속