9주차: Using Files and Others

Slides:



Advertisements
Similar presentations
C 프로그래밍 기초.
Advertisements

컴퓨터 개론 및 실습 강의 9.
슬라이드 1~21까지는 각자 복습! 슬라이드 22부터는 수업시간에 복습
Power C++ 제6장 포인터와 문자열.
배열, 포인터 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원 E304호,
C++ Espresso 제3장 배열과 포인터.
C++ Espresso 제3장 배열과 포인터.
쉽게 풀어쓴 C언어 Express 제11장 포인터 C Express.
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 1-1 C 언어의 개론적 이야기 프로그래밍 언어란 무엇인가? 컴파일이란 무엇인가? 사람과 컴파일러가 이해할 수 있는 약속된 형태의 언어 C 언어도 프로그래밍 언어 중 하나이다. 컴파일이란 무엇인가? 프로그래밍.
-Part3- 제3장 콘솔 입출력과 파일 입출력.
제3장 추가 실습 3장 관련 C 언어 프로그래밍 실습.
쉽게 풀어쓴 C언어 Express 제18장 입출력과 라이브러리 함수 C Express.
C 11장. 포인터의 활용 #include <stdio.h> int main(void) { int num;
4장: 자료형과 수식.
C언어: 배열 (Arrays).
쉽게 풀어쓴 C언어 Express 제9장 함수와 변수 C Express.
쉽게 풀어쓴 C언어 Express 제16장 파일 입출력 C Express Slide 1 (of 23)
HW#1 Source 파일 제출 3.20(수)까지 제출 학번_이름_01.c
Part 14 파일 입출력 ©우균, 창병모 ©우균, 창병모.
쉽게 풀어쓴 C언어 Express 제17장 동적 메모리와 연결 리스트 C Express.
쉽게 풀어쓴 C언어 Express 제17장 동적메모리와 연결리스트 C Express.
동적메모리와 연결리스트 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원 E304호,
C 7장. 배열과 문자열 #include <stdio.h> int main(void) { int num;
컴퓨터 프로그래밍 기초 - 2nd : scanf(), printf() 와 연산자 -
7장 배열 배열의 정의 배열의 초기화 1차원 배열 2차원 및 다차원 배열 문자 배열 배열과 구조.
9장 파일 입출력.
처음으로 배우는 C 프로그래밍 제5부 추가적인 화제들 제 11 장 파일 처리.
1장. 프로그래밍 언어, C 프로그래밍.
파일 기술자 복사 파일 기술자 복사 : dup(2) 파일 기술자 복사 : dup2(3)
12장 파일처리와 매크로 파일 입출력 함수 문자 입출력 함수 라인 입출력 함수 불록 입출력 함수 매크로.
Chapter 4. 보조자료 - 파일 입출력 파일의 기본 개념과 특징을 이해한다. 파일 처리 과정을 이해한다.
프로그래밍실습 제 16 강.
1주차: 프로그래밍언어란 무엇인가? C 언어란? C 프로그래밍을 위한 준비
10장 C 표준 파일 입출력 子曰 學而時習(실습?)之 不亦悅乎.
Chapter 13 Input/Output and Files
쉽게 풀어쓴 C언어 Express 제7장 반복문 C Express.
17강 파일처리함수(1) 강 의 내 용 파일 입출력의 개념 파일포인터를 이용한 입출력 파일 입출력 과정
18강 파일처리함수(2) 강 의 내 용 순차파일 만들기와 읽기 순차파일 입출력함수 랜덤파일 처리
13. 포인터와 배열! 함께 이해하기.
개정판 누구나 즐기는 C언어 콘서트 제6장 반복문 출처: pixabay.
11장. 1차원 배열 IT응용시스템공학과 김 형 진 교수.
함수와 변수 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원 E304호,
제어문 & 반복문 C스터디 2주차.
CHAP 2:순환.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
게임프로그래밍 I - 1차원 배열 - 공주대학교 게임디자인학과 박 찬 교수 2011년 4월 25일.
프로그래밍 기초와 실습 Chapter 11 Recursion.
#1 배열 활용 #include int main(void) { int i; int grade[5]; grade[0] = 10; grade[1] = 20; grade[2] = 30; grade[3] = 40; grade[4] = 50; for(i=0;i.
-Part2- 제1장 1차원 배열이란 무엇인가.
6장 반복제어문 for 문 while 문 do while 문 기타 제어문.
파일 입출력.
-Part1- 제7장 반복문이란 무엇인가.
-Part1- 제8장 조건문이란 무엇인가 (교재 199페이지 ~ 224페이지)
컴퓨터 프로그램은 여러 기능의 복합체이다. 라이브러리 함수와 사용자 정의 함수
1학기 정리 지난 학기에 배운 내용을 복습해 본다..
-Part2- 제2장 다차원 배열이란 무엇인가.
실습과제 1번 생성된 파일 basic.txt를 프로젝트 폴더에서 메모장으로 열고 내용을 확인
3주차: Control Flow and Others
어서와 C언어는 처음이지 제16장.
argc, argv 의 사용방법 #include <stdio.h>
개정판 누구나 즐기는 C언어 콘서트 제10장 문자열 출처: pixabay.
C 13장. 입출력 라이브러리 #include <stdio.h> int main(void) { int num;
C.
C 프로그래밍은 매우 도전적인 작업이다. 도전의 이면에 철저한 준비와 체계적인 노력
3장 파일 다루기 한빛미디어(주).
개정판 누구나 즐기는 C언어 콘서트 제12장 파일 입출력 출처: pixabay.
배열.
11장. 1차원 배열.
⊙ 입출력 처리란? data를 입력장치로부터 program 내부로 읽어 들이거나
Presentation transcript:

9주차: Using Files and Others

이 번 강의 내용 프로그램에서 파일을 사용하는 방법을 배운다. 예를 들어 성적 데이터 파일을 읽어 들여서 어떤 처리를 하는 경우...

파일이란? 파일 컴퓨터의 디스크에 저장되어 있는 어떤 객체 결국은 01011101....의 형태로 되어 있다. 프로그램, 데이터, ... 결국은 01011101....의 형태로 되어 있다.

디스크와 파일 파일 1 파일2 작은 파일 디스크의 빈 공간 어떤 하드 디스크

텍스트 파일 파일의 내용이 문자(char)로 되어 있는 파일 이진 파일(Binary file) 영어, 한글, 기호, ... C 프로그램의 원시 파일(source file) 이진 파일(Binary file) 실행 프로그램, ...

텍스트 파일 만들기 에디터 프로그램을 사용하면 된다. vi, 윈도우 메모장, 워드패드, 한글, ... 단, 한글이나 MS워드를 사용할 때에는 파일을 저장할 때 완성형 텍스트 형식으로 저장할 것

C에서 텍스트 파일을 사용 파일의 사용은 다음의 3단계를 거친다. 파일의 열기(Open) 파일의 사용(Using) 파일에서 뭔가를 읽어 들이기, 파일에 뭔가를 쓰기, ... 파일의 닫기(Close)

파일을 열기 -FILE *: 파일에 대한 포인터 타입 -ifile: 파일에 대한 포인터 변수, 파일에 대한 주소를 나타낸다고 생각하자. -fopen: 파일을 열고 그 파일에 대한 파일 포인터를 return하는 함수 -”data.txt”: 파일 이름 -”w”: 파일을 쓰기 모드로 연다. #include<stdio.h> int main(void) { FILE *ifile; ifile = fopen(“data.txt”, “w”); ... fclose(ifile) return 0; }

파일에서 데이터를 읽어 오기 fscanf 함수 fscanf(file pointer, ...) stdin 대신 file pointer에서 읽어 들인다.

데이터 텍스트 파일 1 35 2 98 234 987 45 3 예를 들어 왼쪽과 같이 생긴 데이터 파일(data.txt)에서 정수들을 쭉 읽어 들여 크기 순으로 화면에 출력하는 작업을 한다고 생각하자...(sorting)

우선 파일을 연다. “r”: 파일을 읽기 모드로 연다. #include<stdio.h> #include<stdlib.h> int main(void) { FILE *ifile; int num[100], num_cnt = 0; int i, j, tmp; ifile = fopen(“data.txt”, “r”); if(!ifile){ printf(“File open error!\n”); exit(1); } “r”: 파일을 읽기 모드로 연다. if(!ifile){...} 만일 ifile이 NULL이면 파일을 열지 못했으므로 프로그램의 수행을 중단한다. exit(1): 프로그램의 비정상적인 종료 stdlib.h: exit 함수를 쓰기 위해 include

이제 파일에서 데이터를 읽는다. while(fscanf(ifile, “%d”, &(num[num_cnt])) == 1) num_cnt++; fscanf 함수는 ifile에서 정수 하나를 읽어 num[num_cnt]에 넣고 제대로 읽어 들인 항목의 개수(이 경우는 1)를 return 한다. 마지막에는 읽어 들인 정수가 없으므로 0을 return하고 while 문을 빠져 나오게 된다. num_cnt는 읽어 들인 정수의 총 개수를 가진다.

읽은 정수들을 크기 순으로 다시 배열하자. i=0 i=1 i=2 ... for(i = 0; i < num_cnt; i++) for(j = i + 1; j < num_cnt; j++){ if(num[i] < num[j]){ tmp = num[i]; num[i] = num[j]; num[j] = tmp; } i=0 i=1 i=2 ... first first 2nd first 2nd 3rd

이제 배열을 출력하자! fclose(ifile): ifile이 가리키는 파일을 닫는다. printf(“Sorted numbers are...\n\n”); for(i = 0; i < num_cnt; i++) printf(“%5d”, num[i]); fclose(ifile); return 0; } fclose(ifile): ifile이 가리키는 파일을 닫는다.

함수의 인자로 배열을 사용하기 double sum(double a[], int n) { int i; double sum = 0.0; for(i = 0; i < n; i++) sum += a[i]; return sum; } -sum()은 인자로 double 배열 a와 a의 원소의 개수 n을 받아서 배열 a의 모든 원소들의 합을 구해서 return하는 함수이다.

교재에서 강의와 연관된 부분 6장 6.6 11장 11.3, 11.4