PowerPoint 프레젠테이션

Similar documents
Microsoft PowerPoint - chap13-입출력라이브러리.pptx

PowerPoint 프레젠테이션

<4D F736F F F696E74202D2034C5D8BDBAC6AEC6C4C0CFC0D4C3E2B7C2312E505054>

歯9장.PDF

Microsoft PowerPoint - C프로그래밍-chap15.ppt [호환 모드]

PowerPoint 프레젠테이션

13 주차문자열의표현과입출력

YRRZBRRLMCEQ.hwp

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap06-1Array.ppt

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap11-1.ppt [호환 모드]

Microsoft PowerPoint APUE(Intro).ppt

PowerPoint 프레젠테이션

C 프로그램의 기본

11장 포인터

Microsoft PowerPoint - 10장 문자열 pptx

Microsoft PowerPoint - chap06-4 [호환 모드]

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

PowerPoint 프레젠테이션

Microsoft PowerPoint - 제11강 파일 처리

chap7.key

<4D F736F F F696E74202D D20B9AEC0DABFAD2C20BDBAC6AEB8B2B0FA20C6C4C0CF20C0D4C3E2B7C2>

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - chap-12.pptx

이번장에서학습할내용 문자표현방법 문자열표현방법 문자열이란무엇인가? 문자열의입출력 문자처리라이브러리함수 표준입출력라이브러리함수 인간은문자를사용하여정보를표현하므로문자열은프로그램에서중요한위치를차지하고있다. 이번장에서는 C 에서의문자열처리방법에대하여자세히살펴볼것입니다. 2

untitled

untitled

Microsoft PowerPoint - chap11.ppt [호환 모드]

PowerPoint Template

윤성우의 열혈 TCP/IP 소켓 프로그래밊

중간고사

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

PowerPoint 프레젠테이션

슬라이드 1

11장 포인터

제1장 Unix란 무엇인가?

Microsoft PowerPoint - Chap14_FileAccess.pptx

0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x = (12 + 6) / 2 * 3; x = 27 x = 3 * (8 / 4

11장 포인터

C 언어 프로그래밊 과제 풀이

Microsoft PowerPoint - chap4 [호환 모드]

untitled

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CC0E7B0EDB0FCB8AE5C53746F636B5F4D616E D656E74732E637070>

11장 포인터

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

Microsoft PowerPoint - [CPI16] Lecture 10 - 문자열.pptx

: 1 int arr[9]; int n, i; printf(" : "); scanf("%d", &n); : : for(i=1; i<10; i++) arr[i-1] = n * i; for(i=0; i<9; i++) if(i%2 == 1) print

Microsoft PowerPoint - chap10-함수의활용.pptx

금오공대 컴퓨터공학전공 강의자료

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

Microsoft PowerPoint - [2009] 02.pptx

PowerPoint 프레젠테이션

Microsoft PowerPoint - 제9강 문자열

2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1 <LinearLayout xmlns:android=" 2 xmlns:tools="

설계란 무엇인가?

Microsoft PowerPoint - Lesson13.pptx

PowerPoint 프레젠테이션

03 상수, 변수, 자료형

C Programming

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - 09_(C_Programming)_(Korean)_File_Processing

PowerPoint 프레젠테이션

제 14 장포인터활용 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.

02장.배열과 클래스

Chapter_06

금오공대 컴퓨터공학전공 강의자료

OCW_C언어 기초

PowerPoint Presentation

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

PowerPoint Presentation

Microsoft PowerPoint - chap4_2013 [호환 모드]

Microsoft PowerPoint - chap05-제어문.pptx

<4D F736F F F696E74202D D20B9AEC0DABFAD2C20BDBAC6AEB8B2B0FA20C6C4C0CF20C0D4C3E2B7C2>

PowerPoint 프레젠테이션

목차 배열의개요 배열사용하기 다차원배열 배열을이용한문자열다루기 실무응용예제 C 2

Microsoft PowerPoint 웹 연동 기술.pptx

제1장 Unix란 무엇인가?

11장 포인터

11장 포인터

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

Microsoft PowerPoint - chap06-8 [호환 모드]

ch13


Infinity(∞) Strategy

11장 포인터

Microsoft PowerPoint - chap03-변수와데이터형.pptx

<4D F736F F F696E74202D20C1A63132C0E520B9AEC0DABFCD20B9AEC0DABFAD>

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

Microsoft PowerPoint - 10_C_Language_Text_Files

<4D F736F F F696E74202D20C1A633C0E52043C7C1B7CEB1D7B7A5B1B8BCBABFE4BCD2>

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

본 강의에 들어가기 전

PowerPoint 프레젠테이션

C++ Programming

Microsoft PowerPoint - Chapter_08.pptx

(Microsoft PowerPoint - 11\300\345.ppt [\310\243\310\257 \270\360\265\345])

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

Microsoft PowerPoint - chap06-8.ppt

금오공대 컴퓨터공학전공 강의자료

Transcription:

Chapter 12 표준입출력과파일입출력...

1. 표준입출력함수 2. 파일입출력함수

1. 표준입출력함수 표준입출력함수 표준입력 (stdin, Standard Input) : 키보드입력 표준출력 (stdout, StandardOutput) : 모니터출력

1. 표준입출력함수 서식화된입출력함수 printf(), scanf() 서식의위치에올수있는것들

[ 기본 11-1] 서식화된입출력함수사용예 01 #include <stdio.h> 02 03 void main( ) 04 { 05 int a; 06 float b; 07 char ch; 08 char s[20]; 09 10 printf(" 정수를입력 : "); 11 scanf_s("%d", &a); 12 printf(" 실수를입력 : "); 13 scanf_s("%f", &b); 14 printf(" 문자를입력 : "); 15 scanf_s(" %c", &ch, 1); 16 printf(" 문자열을입력 : "); 17 scanf_s("%s", s, 20); 18 --- 정수형을선언한다. --- 실수형을선언한다. --- 문자형을선언한다. --- 문자배열을선언한다. --- 정수를입력한다. --- 실수를입력한다. --- 문자를입력한다. 13 행의 enter 를무시하기위해서 %c 앞에는공백이필요하다. --- 문자열을입력받는다. 배열이름 s 는자체가주소이므로 & 를사용하지않는다.

[ 기본 11-1] 서식화된입출력함수사용예 19 printf("\n 정수의 10 진수 = = > %d\n", a); 20 printf(" 정수의 16 진수 = = > %X\n", a); 21 printf(" 정수의 8 진수 = = > %o\n", a); 22 printf(" 실수 = = > %10.3f\n", b); 23 printf(" 실수 ( 공학용 ) = = > %e\n", b); 24 printf(" 문자 = = > %c\n", ch); 25 printf(" 문자열 = = > %s\n", s); 26 } --- 정수를 10 진수, 16 진수, 8 진수로출력한다. --- 실수를일반방식및공학용으로출력한다. --- 문자및문자열로출력한다.

1. 표준입출력함수 문자열입출력함수 printf(), scanf() 함수 : 모든데이터형식의입출력 puts(), gets() 함수 : 문자열의입출력 문자열만입출력할경우에는 printf( ), scanf_s( ) 함수보다는 gets_s( ), puts( ) 함수를사용 하는것이처리속도가더빠름.

[ 기본 11-2] 문자열입출력함수사용예 01 #include <stdio.h> 02 03 void main( ) 04 { 05 char s[20]; 06 07 printf(" 문자열을입력 : "); 08 gets_s(s, 20); 09 10 puts(s); 11 } --- 문자배열을선언한다. --- 문자열을입력한다. 최대 19 자까지입력할수있다. --- 문자열을출력한다.

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

[ 기본 11-3] 문자입출력함수사용예 1 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. 표준입출력함수 getch( ) 키보드를통해문자하나를입력받고, 입력한내용을화면에보여주지않음

[ 응용 11-4] 문자입출력함수사용예 2 01 #include <stdio.h> 02 #include <string.h> 03 04 void main( ) 05 { 06 char password[5] = "5678"; 07 char input[5]; 08 int i; 09 10 printf(" 비밀번호 4 글자를입력하세요 : "); 11 for(i=0 ; i<4 ; i++) 12 input[i] = 1 ; 13 14 if( strncmp(password, input, 4) = = 0) 15 { 16 printf("\n 비밀번호통과 ~~\n"); 17 } 18 else 19 { 20 printf("\n 입력한비밀번호 "); 21 --- 비밀번호를 '5678' 로고정시킨다. --- 입력받은비밀번호를저장하는문자배열이다. --- 문자 4 개를입력받는다 ( 입력한글자는보이지않는다 ). --- 입력한글자 4 개가비밀번호와같으면통과한다. --- 입력한글자 4 개가비밀번호와다를때사용자가입력한내용을출력한다.

[ 응용 11-4] 문자입출력함수사용예 2 22 for(i=0 ; i<4 ; i++) 23 2 (input[i]); 24 25 printf(" 가틀렸음 \n"); 26 } 27 }

1. 표준입출력함수 getche( ) getche( ) 함수는 putch( ) 함수를사용하지않아도입력한글자를바로화면에출력함. 입력할글자를화면에나타내려면 putch( ) 나 putchar( ) 를함께사용해야하는 getch( ) 대신 getche( ) 함수를사용해야간결함. ( 예. [ 기본 11-5] )

[ 기본 11-5] 문자입출력함수사용예 3 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] 문자입출력함수사용예 4 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 } ---문자한자를입력받는다. ---버퍼에서한글자를읽어서화면에출력한다. ---문자한자를입력받는다. ---버퍼에서한글자를읽어서화면에출력한다. ---문자한자를입력받는다. ---버퍼에서한글자를읽어서화면에출력한다.

1. 표준입출력함수 getchar( )

2. 파일입출력함수 파일입출력함수 표준입출력과파일입출력함수 사용하는함수와입출력관련장치가다름

2. 파일입출력함수 파일입출력의기본과정 1 단계 : 파일포인터선언 2 단계 : fopen_s( ) 함수로파일열기 3 단계 : 파일처리함수로파일을읽거나파일에쓰기 4 단계 : fclose( ) 함수로파일닫기 fclose

2. 파일입출력함수 파일을이용한입력 파일의문자열읽기 : fgets( ) 파일로부터값을입력받을때사용하며, 파일포인터에지정된파일에서문자열을읽어서문자배열에대입함. 문자열의최대길이는 읽을최대문자수 1 파일을통해데이터를입력한후이를모니터에출력하는프로그램을작성해보고자함. 메모장실행 File Read Sample 라는문구넣음 C:\temp\data1.txt 로저장 [ 기본 11-7]

[ 기본 11-7] 파일을이용한입력예 1 01 #include <stdio.h> 02 03 void main( ) 04 { 05 char s[20]; 06 FILE *rfp; 07 08 fopen_s(&rfp,"c:\\temp\\data1.txt", "r"); 09 10 fgets(s, 20, rfp); 11 12 printf(" 파일에서읽은문자열 : "); 13 puts(s); 14 15 fclose(rfp); 16 } --- 문자배열을선언한다. --- 파일포인터를선언한다. --- 파일읽기 (r) 모드로연다. 폴더와파일의경로는 '\' 를두개씩써야한다. --- 화면에문자열을출력한다.

2. 파일입출력함수 도스명령어 type 의구현 type : 지정한파일의내용을화면에출력하는기능 [ 시작 ] [ 실행 ] 을선택후 cmd 명령을입력하여명령프롬프트를연다. 다음명령어입력

[ 응용 11-8] 파일을이용한입력예 2 01 #include <stdio.h> 02 03 void main( ) 04 { 05 char str[200]; 06 FILE *rfp; 07 08 fopen_s(&rfp,"c:\\windows\\win.ini", "r"); 09 10 for( ; ; ) 11 { 12 1 (str, 200, rfp); 13 14 if ( 2 (rfp)) 15 break; 16 17 printf("%s", str); 18 } 19 20 3 (rfp); 21 } ---한번에최대 199자까지읽을수있도록배열을선언한다. ---파일포인터를선언한다. ---읽어올파일을연다. ---무한루프다. ---파일에서한줄씩읽어온다. ---파일의끝이라면 for문을종료한다. ---파일의끝이아니므로, 읽은내용을출력한다. ---파일을닫는다.

2. 파일입출력함수 type 명령어프로그램단계

2. 파일입출력함수 서식을지정하여파일읽기 : fscanf_s( ) 파일포인터를사용하는것을제외하고 scanf_s( ) 와사용법이동일 C:\temp\data2.txt 파일에정수 5 줄을쓰고, fscanf_s( ) 함수로읽어온후그숫자들을합하는 프로그램을작성과정 먼저 5 줄의숫자를메모장에적고 C:\temp\data2.txt 로저장함.

[ 기본 11-9] 파일을이용한입력예 3 01 #include <stdio.h> 02 03 void main( ) 04 { 05 FILE *rfp; 06 int hap=0; 07 int in, i; 08 09 fopen_s(&rfp, "c:\\temp\\data2.txt", "r"); 10 11 for (i=0; i<5; i++) 12 { 13 fscanf_s(rfp, "%d", &in); 14 hap = hap + in; 15 } 16 17 printf(" 합계 = = > %d\n", hap); 18 19 fclose(rfp); 20 } --- 파일을닫는다. --- 합계를출력한다. --- 파일포인터를선언한다. --- 합계변수를선언하고초기화한다. --- 읽어올숫자변수와반복을위한변수다. --- 파일을읽기모드 (r) 로읽는다. ---5 회반복하면서파일포인터에서정수를읽어온후합계를누적한다.

2. 파일입출력함수 파일을이용한출력 파일의문자열출력 : fputs( ) 파일에서데이터를읽어와화면에출력하는대신파일에내용을씀 단, 파일포인터에지정된파일에문자열을출력

[ 기본 11-10] 파일을이용한출력예 1 01 #include <stdio.h> 02 03 void main( ) 04 { 05 char s[20]; 06 FILE *wfp; 07 08 fopen_s(&wfp, "c:\\temp\\data3.txt", "w"); 09 10 printf(" 문자열을입력 ( 최대 19 자 ) : "); 11 gets_s(s, 20); 12 13 fputs(s, wfp); 14 15 fclose(wfp); 16 } --- 파일을연다 ('w' 는쓰기모드를뜻한다 ). --- 최대 19 자까지입력할수있다. --- 입력받은내용을파일에쓴다.

2. 파일입출력함수 도스명령어 copy 의구현 copy : 주어진파일을복사하여똑같은파일을하나더만드는명령어 [ 시작 ] [ 실행 ] 을선택한후 cmd 명령을입력하여명령프롬프트창을연다. 파일의복사과정

[ 응용 11-11] 파일을이용한출력예 2 01 #include <stdio.h> 02 03 void main( ) 04 { 05 char str[200]; 06 FILE *rfp; 07 FILE *wfp; 08 09 fopen_s(&rfp, "c:\\windows\\win.ini", "r"); 10 fopen_s(&wfp, "c:\\temp\\data5.txt", "w"); 11 12 for( ;; ) 13 { 14 1 (str, 200, rfp); 15 16 if (feof(rfp)) 17 break; 18 19 2 20 } --- 한줄에최대 199 자까지쓸수있다. --- 읽기용, 쓰기용파일포인터를허용한다. --- 읽기모드와쓰기모드로파일을연다. --- 무한루프다. ------ 읽기용파일에서한줄을읽는다. 최대 199 자까지읽을수있다. ------ 읽기용파일의끝이면 for 문을빠져나간다. ------ 쓰기용파일에한줄을쓴다.

[ 응용 11-11] 파일을이용한출력예 2 21 22 fclose(rfp); 23 fclose(wfp); 24 }

2. 파일입출력함수 서식을지정하여파일출력 : fprintf( ) 파일에숫자를출력할때는서식을지정할수있는 fprintf( ) 함수를사용하는것이편리함 printf( ) 함수와사용법이동일하지만, 파일포인터를지정한다는점이다름

[ 기본 11-12] 파일을이용한출력예 3 01 #include <stdio.h> 02 03 void main( ) 04 { 05 FILE *wfp; 06 int hap=0; 07 int in, i; 08 09 fopen_s(&wfp, "c:\\temp\\data7.txt", "w"); 10 11 for (i=0; i<5; i++) 12 { 13 printf(" 숫자 %d : ", i+1); 14 scanf_s("%d", &in); 15 hap = hap + in; 16 } 17 18 fprintf(wfp, " 합계 = = > : %d\n", hap); 19 20 fclose(wfp); 21 } --- 파일을쓰기모드로연다. ---5 회반복하면서키보드에서입력받은숫자의합계를누적한다. --- 합계를파일에쓴다.

[ 예제모음 30] 구구단을파일에출력

[ 예제모음 30] 구구단을파일에출력 01 #include <stdio.h> 02 03 int main( ) 04 { 05 FILE *wfp; 06 int i, k; 07 08 fopen_s(&wfp, "c:\\temp\\gugu.txt", "w"); 09 10 for( i = 2 ; i <= 9 ; i++ ) 11 fprintf(wfp, " # 제 %d 단 # ", i); 12 13 fprintf(wfp,"\n\n"); 14 15 for ( i = 1 ; i <= 9 ; i ++) 16 { 17 for ( k = 2 ; k <= 9 ; k ++) 18 { 19 fprintf(wfp,"%2dx%2d=%2d ", k, i, k*i); 20 } --- 파일포인터와변수를선언한다. --- 쓰기모드로파일을연다. --- 첫줄에단제목을출력한다. --- 줄넘김을출력한다. --- 반복문을돌면서출력되는구구단을 gugu.txt 에저장한다.

[ 예제모음 30] 구구단을파일에출력 21 fprintf(wfp, "\n"); 22 } 23 24 fclose (wfp); 25 }

[ 예제모음 31] 파일에서읽어온문자열을파일에거꾸로출력

[ 예제모음 31] 파일에서읽어온문자열을파일에거꾸로출력 01 #include <stdio.h> 02 #include <string.h> 03 04 int main( ) 05 { 06 FILE *rfp, *wfp; 07 char str1[200], str2[200]; 08 int size, i; 09 10 fopen_s(&rfp, "c:\\temp\\in.txt", "r"); 11 fopen_s(&wfp, "c:\\temp\\out.txt", "w"); 12 13 while(1) 14 { 15 fgets(str1, 200, rfp); 16 17 if (feof(rfp)) 18 break; 19 20 size = strlen(str1); 21 for( i=size-1; i>=0 ; i--) 22 str2[size-1-i] = str1[i-1]; --- 파일포인터를선언한다. --- 입력문자열, 출력문자열, 변수를선언한다. --- 입력파일과출력파일을연다. ---- 무한루프다. ------ 입력파일의문자열을읽는다. ------ 입력파일의끝이면종료한다. ------' 문자열길이 1' 만큼반복하면입력문자열과출력문자열의위치를바꾼다.

[ 예제모음 31] 파일에서읽어온문자열을파일에거꾸로출력 23 24 str2[size-1] = '\0'; 25 fputs(str2, wfp); 26 fputs("\n", wfp); 27 } 28 29 fclose(rfp); 30 fclose(wfp); 31 } --- 출력문자열의제일끝에널문자를추가한다 ------- 출력문자열을출력파일에쓰고, 줄바꿈을한다.

[12 장요약 ] 1 표준입출력함수 ➊ 키보드로입력하는것을 표준입력 이라하며, 표준입력함수에는 scanf_s( ), gets_s( ), getchar( ) 등이있다. ➋ 모니터로출력하는것을 표준출력 이라하며, 표준출력함수에는 printf( ), puts( ), putchar( ) 등이있다.

[12 장요약 ] 2 파일입출력함수 ➊ 키보드대신파일에서입력을받는함수를 파일입력함수 라고하며, 파일입력함수에는 fscanf_s( ), fgets( ), fgetc( ) 등이있다. ➋ 실행결과를모니터대신파일에출력하는함수를 파일출력함수 라고하며, 파일출력함수에는 fprintf( ), fputs( ), fputc( ) 등이있다. 3 파일입출력기본과정