11 표준 입출력과 파일 입출력 데이터를 읽고 쓰는 다양한 방법 익히기!.

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! 포맷 스트링 공격 경일대학교 사이버보안학과 학년 남주호.
ㅎㅎ 구조체 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스 구조체 배열.
ㅎㅎ 구조체 C++ 프로그래밍 기초 : 객체지향의 시작 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스
쉽게 풀어쓴 C언어 Express 제11장 포인터 C Express Slide 1 (of 27)
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
8. 배열.
C언어 프로그래밍의 이해 Ch12. 표준 입출력.
-Part3- 제3장 콘솔 입출력과 파일 입출력.
Chapter 7. 조건문.
데이터 파일 C 데이터 파일과 스트림(Stream) 텍스트 파일 처리
Lesson 3. 입출력과 제어문.
3. printf()와 데이터 형식.
제15장 파일 입출력 문자열을 출력하는 여러가지 방법 (15-2쪽) 문자열만 처리하는 입출력 함수
6 반복문의 기본 for 문 여러 번 반복하는 작업은 for 문으로!.
7 while 문의 흐름 제어 조건만 만족한다면 무조건 무한 반복!.
8장 함수 함수의 필요성 라이브러리 함수와 사용자 정의 함수 함수의 정의, 원형, 호출 배열을 함수 인자로 전달 재귀호출.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
12장 파일처리와 매크로 파일 입출력 함수 문자 입출력 함수 라인 입출력 함수 불록 입출력 함수 매크로.
2주차: 변수, 수식, Control Flow.
C언어 프로그래밍의 이해 Ch14. 파일 입출력.
6장. printf와 scanf 함수에 대한 고찰
Chapter 10 예외 처리와 파일 입출력 01 예외 처리 02 표준 입출력 03 파일 입출력 예제 모음 요약 연습문제.
TCP/IP Socket Programming…
14장. 포인터와 함수에 대한 이해.
C++프로그래 밍 컴퓨터정보과 / 이기희교수.
11장. 1차원 배열.
C#.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
2장 표준 입출력 표준 입출력 함수의 종류 형식화된 입출력 문자 입출력 문자열 입출력.
C 언어 교육 02 주차 – scanf & 반복문과 조건문 교육부장 조하정.
프로그래밍 개요
어서와 C언어는 처음이지 제14장.
제 9장 입력과 출력 Hello!! C 언어 강성호 김학배 최우영.
3장 상수 변수 기본 자료형 키워드와 식별자 상수와 변수 기본 자료형 형변환 자료형의 재정의.
Java의 정석 제 5 장 배 열 Java 정석 남궁성 강의 의
24장. 파일 입출력.
쉽게 풀어쓴 C언어 Express 제14장 포인터 활용 C Express Slide 1 (of 22)
19. 함수 포인터와 void 포인터.
01_ C++ 스타일의 입출력 02_ C 스타일의 입출력
프로그래밍 원리 Chapter 05 자바스크립트 기초 신한대학교 IT융합공학부 박 호 균.
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
김선균 컴퓨터 프로그래밍 기초 - 7th : 함수 - 김선균
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
Chapter 08. 함수.
문자열 컴퓨터시뮬레이션학과 2015년 봄학기 담당교수 : 이형원 E304호,
Choi Seong Yun 컴퓨터 프로그래밍 기초 #03 : 변수와 자료형 Choi Seong Yun
^^ Computer Programming 2 dmpr.cnu.ac.kr/~daygax.
함수(Function) ◈ 함수의 개념 및 사용 이유 ◈ 함수 정의, 호출 및 선언 ◈ 지역변수와 전역변수 ◈ return 문
제 15 강 문자와 코드 shcho.pe.kr.
문자열 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원 E304호,
Homework #12 (1/2) 프로그램을 작성하고, 프로그램과 실행 결과를 프린트하여 제출한다.
TVM ver 최종보고서
컴퓨터 프로그래밍 기초 - 9th : 배열 / 포인터 -
구조체(struct)와 공용체(union)
Chapter 12 파일 입출력.
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
동적메모리와 연결 리스트 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원 E304호,
제 29 강 스트링(string) 다루기 s a i s . s T i h t g r i n.
어서와 C언어는 처음이지 제21장.
윈도우에서의 유니코드.
SPL-Duino 블록 편집기 이용하기 전류센서 블록 만들기 SPL-Duino 블록 편집기를 실행합니다.
⊙ 입출력 처리란? data를 입력장치로부터 program 내부로 읽어 들이거나
제 10 강 문자 입출력.
C Programming Seminar 데이터와 입출력 함수.
2019 2학기 9장 배열과 포인터 1. 주소, 주소연산자(&) 2. 포인터, 역참조연산자(*) 3. 배열과 포인터.
Presentation transcript:

11 표준 입출력과 파일 입출력 데이터를 읽고 쓰는 다양한 방법 익히기!

이 장에서 다룰 내용 표준 입출력 함수 1 2 파일 입출력 함수

01_표준 입출력 함수 표준 입출력의 개념 표준 입력(stdin) : 키보드로 입력하는 것 [예] scanf() 표준 출력(stdout) : 모니터에 출력하는 것 [예] printf()

01_ 표준 입출력 함수 서식화된 입출력 함수 [예] printf(), scanf() 서식의 위치에 들어갈 내용

[기본예제 11-1] 서식화된 입출력 함수 사용 예 01 #include <stdio.h> 02 03 void main() 04 { 05 int a; 06 float b; 07 char s[10]; 08 09 printf("정수를 입력 : "); 10 scanf("%d", &a); 11 printf("실수를 입력 : "); 12 scanf("%f", &b); 13 printf("문자열을 입력 : "); 14 scanf("%s", s); 15 정수형, 실수형 변수 선언 문자열 배열 선언 정수 입력 실수 입력 문자열 입력(& 사용하지 않음)

[기본예제 11-1] 서식화된 입출력 함수 사용 예 16 printf("\n정수의 10진수 ==> %d\n", a); 17 printf("정수의 16진수 ==> %X\n", a); 18 printf("정수의 8진수 ==> %o\n", a); 19 printf("실수 ==> %10.3f\n", b); 20 printf("문자열 ==> %s\n", s); 21 } 정수 10진수, 정수 16진수, 정수 8진수, 실수, 문자열 출력

01_표준 입출력 함수 문자열 입출력 함수 printf()와 scanf() 함수 : 모든 데이터 형식의 입출력 담당 puts()와 gets() 함수 : 문자열의 입출력 담당

[기본예제 11-2] 문자열 입출력 함수 사용 예 01 #include <stdio.h> 02 03 void main() 04 { 05 06 char s[20]; 07 08 printf("문자열을 입력 : "); 09 gets(s); 10 11 puts(s); 12 } 문자열 배열 선언 문자열 입력 문자열 출력

01_표준 입출력 함수 문자 입출력 함수 getchar(), getch(), getche() 함수 : 문자 하나만 입력하는 기능 putchar(), putch() 함수 : 문자 하나를 출력하는 기능

[기본예제 11-3] 문자 입출력 함수 사용 예 ① 01 #include <stdio.h> 02 03 void main() 04 { 05 char ch; 06 07 ch = getch(); 08 putch(ch); 09 10 ch = getch(); 11 putch(ch); 12 13 ch = getch(); 14 putch(ch); 15 } 문자 1개 입출력 문자 1개 입출력 문자 1개 입출력

01_표준 입출력 함수

[기본예제 11-4] 문자 입출력 함수 사용 예 ② 01 #include <stdio.h> 02 #include <string.h> 03 04 void main() 05 { 06 char password[4] = "5678"; 07 [ ① ] input[4]; 08 int i; 09 10 printf("비밀번호 4글자를 입력하세요 : "); 11 for(i=0 ; i<4 ; i++) 12 input[i] = [ ② ] 13 14 if( strncmp(password, input, 4) == 0) 15 { 16 printf("\n비밀번호 통과~~\n"); 17 } 비밀번호는 ‘5678’로 고정시킴 char 입력받은 비밀번호를 저장하는 곳 숫자 4개를 받기 위해 반복문 실행 getch(); 글자 입력(안 보임) 입력한 네 글자가 비밀번호와 같을 때 ‘통과’ 출력

[기본예제 11-4] 문자 입출력 함수 사용 예 ② 18 else 19 { 20 printf("\n입력한 비밀번호 "); 21 19 { 20 printf("\n입력한 비밀번호 "); 21 22 for(i=0 ; i<4 ; i++) 23 [ ③ ] (input[i]); 24 25 printf(" 가 틀렸음\n"); 26 } 27 } 입력한 네 글자가 비밀번호와 다를 때 사용자가 입력한 내용 출력 putch

[기본예제 11-5] 문자 입출력 함수 사용 예 ③ 01 #include <stdio.h> 02 [기본예제 11-5] 문자 입출력 함수 사용 예 ③ 01 #include <stdio.h> 02 03 void main() 04 { 05 char ch; 06 07 ch = getche(); 08 09 ch = getche(); 10 11 ch = getche(); 12 } 문자 하나를 입력받고, 화면에도 보여줌 문자 하나를 입력받고, 화면에도 보여줌 문자 하나를 입력받고, 화면에도 보여줌

[기본예제 11-6] 문자 입출력 함수 사용 예 ④ 01 #include <stdio.h> 02 [기본예제 11-6] 문자 입출력 함수 사용 예 ④ 01 #include <stdio.h> 02 03 void main() 04 { 05 char ch; 06 07 printf("문자열을 입력하세요 : "); 08 ch = getchar(); 09 putchar(ch); 10 11 ch = getchar(); 12 putchar(ch); 13 14 ch = getchar(); 15 putchar(ch); 16 } 문자형 변수 선언 문자열을 입력받아 버퍼에 저장 첫번째 문자 출력 두 번째 문자 읽어오기 두 번째 문자 출력 세 번째 문자 읽어오기 세 번째 문자 출력

01_표준 입출력 함수

02_파일 입출력 함수 표준 입출력과 파일 입출력 함수의 차이 사용하는 함수가 다름 입출력 관련 장치가 다름

파일 포인터 = fopen(“파일 이름”, “열기 모드”); 02_파일 입출력 함수 파일 입출력 기본 과정 1단계 : 파일 포인터 선언 파일을 열기 위해 파일 포인터라고 하는 포인터 변수를 선언한다. 2단계 : fopen() 함수 파일을 열기 위해 함수를 사용 FILE *변수명; 파일 포인터 = fopen(“파일 이름”, “열기 모드”);

02_파일 입출력 함수 3단계 : 파일 처리 함수 4단계 : fclose() 함수 파일에 데이터를 쓰거나 파일로부터 데이터를 읽어올 수 있는 상태가 됨 4단계 : fclose() 함수 파일과 관련된 모든 작업이 끝나면 파일을 정상적으로 닫아야 한다. fclose(파일포인터);

fgets(문자 배열, 읽어올 최대 문자수, 파일 포인터); 02_파일 입출력 함수 파일을 이용한 입력 파일의 문자열 읽기 : fgets() 파일로부터 값을 입력받음 파일 포인터에 지정된 파일에서 문자열을 읽어 문자 배열에 대입 단, 읽어올 최대 문자열의 길이 = ‘읽어올 최대 문자수’ 보다 짧아야 함 fgets()와 puts()를 사용하여 파일의 내용을 모니터에 출력하는 과정 fgets(문자 배열, 읽어올 최대 문자수, 파일 포인터);

[기본예제 11-7] 파일을 이용한 입력 예 ① 01 #include <stdio.h> 02 03 void main() 04 { 05 06 char s[20]; 07 FILE *rfp; 08 09 rfp = fopen("c:\\data1.txt", "r"); 10 11 fgets(s, 19, rfp); 12 13 printf("파일에서 읽은 문자열 : "); 14 puts(s); 15 16 fclose(rfp); 17 } 문자열 배열 선언 파일 포인터 선언 파일 열기(“r”은 읽기 전용) 파일에서 내용 읽어들이기 화면에 문자열 출력 파일 닫기

fscanf(파일 포인터, “서식”, 입력할 매개변수들...); 02_파일 입출력 함수 서식을 지정하여 파일 읽기 : fscanf() 파일 포인터를 사용하는 것을 제외하고, scanf()와 사용법이 동일 c:\data2.txt 파일에 정수 5줄을 쓴 후, fscanf() 함수로 읽어와 숫자의 합을 구하는 프로그램 작성 과정 data2.txt 내용 작성 fscanf(파일 포인터, “서식”, 입력할 매개변수들...);

[기본예제 11-9] 파일을 이용한 입력 예 ③ 01 #include <stdio.h> 02 03 void main() 04 { 05 FILE *rfp; 06 int hap=0; 07 int in, i; 08 09 rfp = fopen("c:\\data2.txt", "r"); 10 11 for (i=0 ; i<5 ; i++) 12 { 13 fscanf(rfp, "%d", &in); 14 hap = hap + in; 15 } 16 파일 포인터 선언 합계 변수 선언 파일 열기(“r”은 읽기 모드) 5회 반복하면서 파일 포인터에서 숫자를 읽어와 합계를 누적

[기본예제 11-9] 파일을 이용한 입력 예 ③ 17 printf("합계 ==> %d\n", hap); 18 19 fclose(rfp); 20 } 합계 출력 파일 닫기

02_파일 입출력 함수 파일을 이용한 출력 파일에 문자열 출력 : fputs() 파일에서 데이터를 읽어와 화면에 출력하는 대신 파일에 내용을 씀 단, 파일 포인터에 지정된 파일에 문자열을 출력 파일을 쓰는 과정에도 4단계 적용 키보드를 통해 데이터를 입력받고, 파일에 출력하는 과정 fputs(입력할 데이터, 파일 포인터);

[기본예제 11-10] 파일을 이용한 출력 예 ① 01 #include <stdio.h> 02 03 void main() 04 { 05 char s[20]; 06 FILE *wfp; 07 08 wfp = fopen("c:\\data3.txt", "w"); 09 10 printf("문자열을 입력 : "); 11 gets(s); 12 13 fputs(s, wfp); 14 15 fclose(wfp); 16 } 문자열 배열 선언 파일 포인터 선언 파일 열기(“w”은 쓰기 모드) 키보드로 문자열을 입력받음 파일에 문자열 출력 파일 닫기

copy c:\windows\win.ini c:\data5.txt 02_파일 입출력 함수 도스 명령어 copy의 구현 주어진 파일을 복사하여 똑같은 파일을 하나 더 만드는 명령어 [시작][실행] 선택 후 ‘cmd’ 입력하여 명령 프롬프트 실행 명령어를 입력하면 win.ini 파일의 내용이 data5.txt 파일에 저장됨 파일의 복사 과정 copy 파일 1, 파일 2 copy c:\windows\win.ini c:\data5.txt

[응용예제 11-11] 파일을 이용한 출력 예 ② 01 #include <stdio.h> 02 03 void main() 04 { 05 char str[200]; 06 FILE *rfp; 07 FILE *wfp; 08 09 rfp = fopen("c:\\windows\\win.ini", "r"); 10 wfp = fopen("c:\\data6.txt", "w"); 11 12 for( ;; ) 13 { 14 fgets(str, 199, rfp); 15 최대 한 줄에 200자 사용 읽기용 파일 포인터 선언 쓰기용 파일 포인터 선언 읽기 모드로 파일 열기 쓰기 모드로 파일 열기 무한루프 읽기용 파일에서 한 줄 읽음

[응용예제 11-11] 파일을 이용한 출력 예 ② 16 if (feof(rfp)) 17 break; 18 19 [ ① ] 19 [ ① ] 20 } 21 22 fclose(rfp); 23 fclose(wfp); 24 } 파일의 끝이라면 for 문 종료 fputs(str, wfp); 읽기용 파일 닫기 쓰기용 파일 닫기

fprinft(파일포인터, “서식”, 출력할 매개변수들...); 02_파일 입출력 함수 서식을 지정하여 파일 출력 : fprintf() 파일에 숫자를 출력하는 경우, 서식을 지정할 수 있는 함수 사용이 더 편리함 printf() 함수와 사용법은 동일하지만, 파일 포인터를 지정한다는 차이가 있음 fprinft(파일포인터, “서식”, 출력할 매개변수들...);

[기본예제 11-12] 파일을 이용한 출력 예 ③ 01 #include <stdio.h> 02 03 void main() 04 { 05 FILE *wfp; 06 int hap=0; 07 int in, i; 08 09 wfp = fopen("c:\\data4.txt", "w"); 10 11 for (i=0 ; i<5 ; i++) 12 { 13 printf(" 숫자 %d : ", i+1); 14 scanf("%d", &in); 15 hap = hap + in; 16 } 파일 포인터 선언 합계 변수 파일 열기(“w”은 쓰기 모드) 5회 반복하면서 키보드에서 입력받은 숫자의 합계 누적

[기본예제 11-12] 파일을 이용한 출력 예 ③ 17 18 fprintf(wfp, "합계 ==> : %d\n", hap); 19 20 fclose(wfp); 21 } 합계를 파일에 씀 파일 닫기

요약 표준 입출력 함수 표준 입력 : 키보드로 입력하는 것으로, scanf(), gets(), getchar() 함수가 있음 표준 출력 : 모니터로 출력하는 것으로, printf(), puts(), putchar() 함수가 있음 표준 입출력 함수

요약 파일 입력 함수 : 키보드대신 파일에서 입력받는 함수로, fscanf(), fgets(), fgetc() 함수가 있음 파일 출력 함수 : 실행 결과를 파일에 출력하는 함수로, fprintf(), fputs(), fputc() 함수가 있음 파일 입출력 함수

요약 파일 입출력 과정

프로젝트 과제명은 자체 결정 (파일 입출력 기능 필수) 프로젝트 초안 중간 보고 발표 프로젝트 발표 프로젝트 초안 보고서 제출 보고서 내용 : 팀원 구성, 역할 분담 마감일 : 11월19일 초안 중간 보고서 제출 보고서 내용 : 팀원의 역할 분담, 일정관리, 통합 소스와 개별 소스의 플로우차트 발표 마감일 : 11월26일 중간 보고 발표 발표 내용 : 소스의 플로우 차트, 역할분담, 제안보고서 성취도 분석, 제출 내용 : 최종 결과물에 대한 소스 CD, 최종 보고서 발표일 : 12월3일 프로젝트 발표 프로젝트 과제명은 자체 결정 (파일 입출력 기능 필수)

IT CookBook for Beginner, C 언어 기초 11장 끝 www.themegallery.com Thank You ! IT CookBook for Beginner, C 언어 기초 11장 끝