<4D F736F F F696E74202D2034C5D8BDBAC6AEC6C4C0CFC0D4C3E2B7C2312E505054>

Similar documents
chap7.key

PowerPoint 프레젠테이션

歯9장.PDF

PowerPoint 프레젠테이션

Microsoft PowerPoint - 제11강 파일 처리

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

Microsoft PowerPoint APUE(Intro).ppt

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap4 [호환 모드]

PowerPoint Template

슬라이드 1

Microsoft PowerPoint - Lesson13.pptx

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

제1장 Unix란 무엇인가?


C Programming

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

Microsoft PowerPoint - Chap14_FileAccess.pptx

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

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

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

11장 포인터

설계란 무엇인가?

<4D F736F F F696E74202D D20B9AEC0DABFAD2C20BDBAC6AEB8B2B0FA20C6C4C0CF20C0D4C3E2B7C2>

Microsoft PowerPoint - 10_C_Language_Text_Files

PowerPoint 프레젠테이션

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

Microsoft PowerPoint - chap1 [호환 모드]

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

BMP 파일 처리

MATLAB for C/C++ Programmers

제7장 C 표준 파일 입출력

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

MATLAB for C/C++ Programmers

제7장 C 표준 파일 입출력

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

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - [2009] 02.pptx

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

03 상수, 변수, 자료형

C 프로그램의 기본

Microsoft PowerPoint 웹 연동 기술.pptx

Microsoft PowerPoint - chap06-2pointer.ppt

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

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

문서의 제목 나눔고딕B, 54pt

제1장 Unix란 무엇인가?

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

11장 포인터

Microsoft PowerPoint - C프로그래밍-chap16.ppt

PowerPoint 프레젠테이션

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

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

본 강의에 들어가기 전

Microsoft PowerPoint - chap11-포인터의활용.pptx

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C4C656D70656C2D5A69762E637070>

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

Microsoft PowerPoint - Ch12.파일.pptx

본 강의에 들어가기 전

슬라이드 1

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

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

: 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

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

untitled

표준입출력스트림 기본적인스트림들은프로그래머가생성하지않아도자동으로생성된다. 이름스트림연결장치 stdin 표준입력스트림키보드 stdout 표준출력스트림모니터의화면 stderr 표준오류스트림모니터의화면 입출력함수의분류 사용하는스트림에따른분류 표준입출력스트림을사용하여입출력을하

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

Lab 3. 실습문제 (Single linked list)_해답.hwp

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - ch09_파이프 [호환 모드]

2009년 상반기 사업계획

ABC 11장

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CC0E7B0EDB0FCB8AE5C53746F636B5F4D616E D656E74732E637070>

<4D F736F F F696E74202D20C1A63136C0E520C6C4C0CFC0D4C3E2B7C2>


PowerPoint Presentation

Microsoft PowerPoint - 제9강 문자열

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

Chapter_06

제1장 Unix란 무엇인가?

중간고사

The Pocket Guide to TCP/IP Sockets: C Version

02장.배열과 클래스

C 프로그래밊 개요


Microsoft PowerPoint - chap-07.pptx

<4D F736F F F696E74202D D20B9AEC0DABFAD2C20BDBAC6AEB8B2B0FA20C6C4C0CF20C0D4C3E2B7C2>

À©µµ³×Æ®¿÷ÇÁ·Î±×·¡¹Ö4Àå_ÃÖÁ¾

PowerPoint 프레젠테이션

PowerPoint Presentation

Microsoft PowerPoint - chap06-1Array.ppt

OCW_C언어 기초

Lab 4. 실습문제 (Circular singly linked list)_해답.hwp

untitled

untitled

Microsoft PowerPoint - Lesson6.pptx

4. 1 포인터와 1 차원배열 4. 2 포인터와 2 차원배열 4. 3 포인터배열 4. 4 포인터와문자그리고포인터와문자열

1.1.1 컴퓨터의 구성 p.19

int main(void) int a; int b; a=3; b=a+5; printf("a : %d \n", a); printf("b : %d \n", b); a b 3 a a+5 b &a(12ff60) &b(12ff54) 3 a 8 b printf(" a : %x \

슬라이드 1

Transcription:

의료프로그래밍실습 의료공학과이기영 1 Chap. 11 파일입출력 2 1

이장의목표 텍스트파일의입출력방법을익힌다. (284 쪽그림참조 ) 3 C 언어의파일종류 텍스트파일 (text file) 사람들이읽을수있는문자들을저장하고있는파일 텍스트파일에서 한줄의끝 을나타내는표현은파일이읽어들여질때, C 내부의방식으로변환된다. 이진파일 (binary file) : 자료형그대로의바이트수로연속해서저장 모든데이터는있는그대로바이트의연속으로저장 이진파일을이용하여메모리에저장된변수값형태그대로파일에저장할수있다. 4 2

파일열기 (287 쪽 ) 함수 fopen() FILE *fopen(const char *filename, const char *mode); const char *filename: 파일명에대한포인터 const char *mode: 모드로파일을여는형식 실패하면 NULL을반환한다. 예1 FILE *fp; fp = fopen( i: C_Program CH6 text.txt", "r"); if (fp == NULL) printf(" 파일열기오류 n"); 예2 fp = fopen("outdata.txt", "w"); // 파일에써넣을때 fp = fopen("outdata.txt", r"); // 파일에서읽을때 5 fopen 모드 (287 쪽두번째표참조 ) 모드 "r" 읽기전용으로연다 내용 "w" "a" "r+" "w+" "a+" "rb" "wb" "ab" "rb+" "wb+" "ab+" 쓰기전용으로연다. 파일이없으면새로생성하고이미존재하면그파일내용을삭제추가용으로연다. 파일이없으면새로생성한다. 이미존재하는파일을읽기쓰기 ( 갱신 ) 용으로연다. 파일을생성하고갱신용으로연다. 파일을추가용, 갱신용으로연다. 파일이없으면새로생성한다. 이진파일을읽기용으로연다. 이진파일을쓰기용으로연다. 이진파일을추가용으로연다. 파일이없으면새로생성한다. 이미존재하는이진파일을갱신용으로연다. 이진파일을생성하고갱신용으로연다. 이진파일을추가용, 갱신용으로연다. 파일이없으면새로생성한다. 6 3

파일닫기 파일을열어서사용한후에는파일을닫아야한다. int fclose(file *fp ); fp는 fopen 함수에서받았던포인터 닫기에성공하면 0, 오류일때는 EOF( -1) 를리턴한다. 예 FILE *fp; fp = fopen("outdata.txt", "w"); // 파일에써넣을때 fclose(fp); 7 파일입출력함수 표준입출력함수 getchar() putchar() gets() puts() scanf() printf() 표준파일입출력함수 fgetc(), getc() fputc(), putc() fgets() fputs() fscanf() fprintf() 기능 문자단위로입력하는함수 (EOF 반환 ) 문자단위로출력하는함수 (EOF 반환 ) 문자열을입력하는함수 (NULL 반환 ) 문자열을출력하는함수 (NULL 반환 ) 자료형에따라자료를입력하는함수 (EOF 반환 ) 자료형에따라자료를출력하는함수 (EOF 반환 ) 8 4

C 언어로화면에쓰기. char name[40]; int number=0; printf( 이름쓰기 : "); scanf( %s,name); // or gets(name); // 키보드로쓰기 printf("%s n", name); // 모니터에쓰기 9 C 언어로텍스트파일을만들기. FILE *fp; char name[40]; int number=0; if ((fp = fopen( name.txt","w")) == NULL) // 파일쓰기로열기 printf(" n 파일열기실패!"); return; printf( 이름쓰기 : "); scanf( %s,name); // or gets(name); // 키보드로쓰기 fprintf(fp, "%s n", name); // 파일에쓰기 fclose(fp); // 파일닫기 10 5

C 언어로텍스트파일읽기. FILE *fp; char name[40]; int number=0; if ((fp = fopen( name.txt", r")) == NULL) // 파일읽기로열기 printf(" n 파일열기실패!"); return; fscanf(fp, %s,name); // or fgets(fp,name); // 파일에서읽기 printf(" 이름은 %s n", name); // 모니터에쓰기 fclose(fp); // 파일닫기 11 숫자를텍스트파일로작성 1. 5인의키를 cm 단위로텍스트파일에써넣기 1 메모장으로쓰기와동일 2. 이 5개의키를인쇄해보자. 3. 키데이터들의평균을구해보자. 4. 2와 3과정의결과를파일로작성. 5. 5의결과를1에작성한파일에덧붙여보자. Tall.txt 파일내용 165 173 169 183 175 Tall.txt 파일내용 165 173 169 183 175 평균 = 174.0 12 6

파일처리순서 1. 파일포인터선언 : FILE *fp* fp; 2. 파일열기 : fopen() 3. 파일읽기 / 쓰기 : fscanf(), fprintf() 4. 파일닫기 : fclose() 13 방법 1 초기치입력한키들의평균내기 int i, sum=0, tall[n] = 180,170,175,190,155; // 초기치입력 sum+=tall[i]; // 합구하기 ave=(float)sum/n; // 평균구하기 printf(" 평균키는 %.1f n", ave); 14 7

방법 1 키들과이들의평균파일에쓰기 int i, sum=0, tall[n]=180,170,175,190,155; // 초기치입력 FILE *fp; if ((fp = fopen("tall-1.txt","w")) == NULL) // 쓰는모드 ( 용도 ) 로파일열기 printf(" n 파일열기실패!"); return; fprintf(fp, "%d n",tall[i]); sum+=tall[i]; // 파일에쓰고, 합구하기 ave=(float)sum/n; // 평균구하기 fprintf(fp," 평균키는 %.1f n", ave); fclose(fp); 15 방법 1 초기치입력한키들의평균내기 int i, sum=0, tall[n] = 180,170,175,190,155; // 초기치입력 sum+=tall[i]; // 합구하기 ave=(float)sum/n; // 평균구하기 printf(" 평균키는 %.1f n", ave); 16 8

방법 2 키보드입력한키들의평균 int i, sum=0, tall[n]; printf("%d번키는 : ", i+1); // 프롬프트 scanf("%d", &tall[i]); // 키보드로읽기 sum+=tall[i]; // 합구하기 ave=(float)sum/n; printf(" 평균키는 %.1f n", ave); 17 방법 2 키들을파일에서읽기 int i, sum=0, tall[n]; FILE *fp; if ((fp = fopen( tall-1.txt", r")) == NULL) printf(" n 파일열기실패!"); return; fscanf(fp,"%d", &tall[i]); // 파일에서읽기 sum+=tall[i]; // 합구하기 printf( %d n,tall[i]); fclose(fp); ave=(float)sum/n; printf(" 평균키는 %.1f n", ave); 18 9

방법 2 키들을파일에서읽어평균구하고다시그파일에첨가하여써넣기 int i, sum=0, tall[n]; FILE *fp; if ((fp = fopen("tall-1.txt", "r")) == NULL) printf(" n 파일열기실패!"); return; fscanf(fp,"%d", &tall[i]); // 파일에서 sum+=tall[i]; // 합구하기 printf( %d n,tall[i]); fclose(fp); ave=(float)sum/n; printf(" 평균키는 %.1f n", ave); if ((fp = fopen("tall-1.txt", "a")) == NULL) printf(" n 파일열기실패!"); return; fprintf(fp," 평균키는 %.1f n", ave); fclose(fp); 19 발표 : 팀과제 (1) 10 명의이름과체중파일로작성하기 (#define N 10) (2) 파일에서읽고스크린에인쇄하기 (3) 합과평균값파일에첨가하여붙이기 (4) 내림 / 올림차순소팅하기 NameWgt.txt 파일내용 홍길동 65 며르치 73 이소서 69 박명수 83 화장품 75 NameWgt.txt 덧붙인파일내용 홍길동 65 며르치 73 이소서 69 박명수 83 화장품 75 체중의합은 *** 체중의평균은 ***.** 20 10

#define N 10 FILE *rp, *ap; // 파일포인터 char name[n][10];// 문자열 int i, sum, wgt[n]; // 체중 float average; // File open : 파일열기 if((rp=fopen( NameWgt.txt","r")) == NULL) printf("file can't open! n"); return; // File Read : 파일읽기 fscanf(rp, "%s t", name[i]); fscanf(rp, "%d n", &wgt[i]); // File close : 파일닫기 fclose(rp); 21 // // 합계와평균계산 sum=0; sum+=wgt[i]; average=(float)sum/n; // 강제형변환 ( 자료형 ) 변수명 // File open : 파일열기 if((ap=fopen("namewgt.txt","a")) == NULL) printf("file can't open! n"); return 0; // 파일쓰기 fprintf(ap," n 체중의합은 %d 입니다. n",sum); fprintf(ap," 체중의평균은 %.2f 입니다. n",average); // 파일닫기 fclose(ap); 22 11