조 병 규 Software Quality Lab. 한국교통대학교

Slides:



Advertisements
Similar presentations
스택 스택 추상자료형 스택 스택의 구현 스택의 응용 한빛미디어(주).
Advertisements

2007 1학기 12 배열.
쉽게 풀어쓴 C언어 Express 제16장 파일 입출력 C Express.
인공지능실험실 석사 2학기 이희재 TCP/IP Socket Programming… 제 11장 프로세스간 통신 인공지능실험실 석사 2학기 이희재
-Part3- 제3장 콘솔 입출력과 파일 입출력.
컴퓨터 프로그래밍 기초 [Final] 기말고사
제3장 추가 실습 3장 관련 C 언어 프로그래밍 실습.
쉽게 풀어쓴 C언어 Express 제18장 입출력과 라이브러리 함수 C Express.
데이터 파일 C 데이터 파일과 스트림(Stream) 텍스트 파일 처리
C언어: 배열 (Arrays).
2014 ITA 8월 강의 C Programming -5일차- 포인터, 배열, 문자열 정대진 ( )
쉽게 풀어쓴 C언어 Express 제16장 파일 입출력 C Express Slide 1 (of 23)
HW#1 Source 파일 제출 3.20(수)까지 제출 학번_이름_01.c
Part 14 파일 입출력 ©우균, 창병모 ©우균, 창병모.
제15장 파일 입출력 문자열을 출력하는 여러가지 방법 (15-2쪽) 문자열만 처리하는 입출력 함수
Chapter 13 문자 데이터와 문자열 문자 데이터 문자열.
10장 메모리 관리.
쉽게 풀어쓴 C언어 Express 제17장 동적 메모리와 연결 리스트 C Express.
쉽게 풀어쓴 C언어 Express 제17장 동적메모리와 연결리스트 C Express.
25장. 메모리 관리와 동적 할당.
동적메모리와 연결리스트 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원 E304호,
12장 파이프.
21장. 문자와 문자열 처리 함수.
9장 파일 입출력.
DSP Lab. Week 3 My image Doug Young Suh Media Lab. Rm401
처음으로 배우는 C 프로그래밍 제5부 추가적인 화제들 제 11 장 파일 처리.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
Linux/UNIX Programming
파이프와 exec 시스템 호출 (ls | wc)
12장 파일처리와 매크로 파일 입출력 함수 문자 입출력 함수 라인 입출력 함수 불록 입출력 함수 매크로.
파일 기술자 파일 기술자 현재 열려있는 파일을 구분하는 정수값 저수준 파일 입출력에서 열린 파일을 참조하는데 사용
C언어 프로그래밍의 이해 Ch14. 파일 입출력.
프로그래밍2 및 실습 C언어 기반의 C++ 2.
11 표준 입출력과 파일 입출력 데이터를 읽고 쓰는 다양한 방법 익히기!.
TCP/IP Socket Programming…
14주차.
14장. 포인터와 함수에 대한 이해.
11장. 1차원 배열.
10장 C 표준 파일 입출력 子曰 學而時習(실습?)之 不亦悅乎.
9장 파일 입출력.
17강 파일처리함수(1) 강 의 내 용 파일 입출력의 개념 파일포인터를 이용한 입출력 파일 입출력 과정
18강 파일처리함수(2) 강 의 내 용 순차파일 만들기와 읽기 순차파일 입출력함수 랜덤파일 처리
제 11 장 전처리기.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
어서와 C언어는 처음이지 제14장.
13. 포인터와 배열! 함께 이해하기 IT응용시스템공학과 김 형 진 교수.
11장. 1차원 배열 IT응용시스템공학과 김 형 진 교수.
24장. 파일 입출력.
19. 함수 포인터와 void 포인터.
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
게임프로그래밍 I - 1차원 배열 - 공주대학교 게임디자인학과 박 찬 교수 2011년 4월 25일.
조 병 규 Software Quality Lab. 한국교통대학교
Linux/UNIX Programming
함수(Function) ◈ 함수의 개념 및 사용 이유 ◈ 함수 정의, 호출 및 선언 ◈ 지역변수와 전역변수 ◈ return 문
구조체(struct)와 공용체(union)
실습과제 1번 생성된 파일 basic.txt를 프로젝트 폴더에서 메모장으로 열고 내용을 확인
Static과 const 선언 조 병 규 한 국 교 통 대 학 교 SQ Lab..
제 29 강 스트링(string) 다루기 s a i s . s T i h t g r i n.
개정판 누구나 즐기는 C언어 콘서트 제10장 문자열 출처: pixabay.
C 13장. 입출력 라이브러리 #include <stdio.h> int main(void) { int num;
1. 지역변수와 전역변수 2. auto, register 3. static,extern 4. 도움말 사용법
어서와 C언어는 처음이지 제23장.
개정판 누구나 즐기는 C언어 콘서트 제13장 동적 메모리 출처: pixabay.
2019 1학기 응용프로그래밍 - 파일 처리 01 파일 열기 02 파일 저장과 내용 읽기 03 이진파일 처리 04 임의접근 파일 처리 05 파일 관련 함수들.
13. 포인터와 배열! 함께 이해하기.
어서와 C언어는 처음이지 제22장.
3장 파일 다루기 한빛미디어(주).
개정판 누구나 즐기는 C언어 콘서트 제12장 파일 입출력 출처: pixabay.
11장. 1차원 배열.
⊙ 입출력 처리란? data를 입력장치로부터 program 내부로 읽어 들이거나
Presentation transcript:

조 병 규 Software Quality Lab. 한국교통대학교 문제해결기법 16 _fsopen() 함수 조 병 규 Software Quality Lab. 한국교통대학교 SQ Lab.

fsopen() 함수 FILE *_fsopen(const char *Pfilename, const char *mode, int shflag); ■리턴값 ∙ 성공 : 해당 파일 포인터 ∙ 실패 : NULL ■파라미터 설명 ∙ Pfilename : 물리파일 이름 ∙ mode : 처리 유형 (fopen() 함수와 같다) ∙ shflag : 파일의 공유 여부를 설정 “share.h”에 정의되어 있다. fopen() 함수와 같으나 세 번째 파라미터에서 다른 프로그램과의 파일 공유 유무를 설정하는 것이 추가된 함수이다. SQ Lab.

처리 유형 mode 용 도 r 입력만 처리(파일이 존재하지 않으면 실패) w 출력만 처리 (파일이 이미 존재하면 전의 자료는 모두 없어짐) a 자료 추가(append) r+ 입/출력 처리(파일이 반드시 존재해야 함) w+ 입/출력 처리 a+ 입력/추가 처리(read and append) t 텍스트모드 설정(text mode) b 이진 모드 설정(binary mode) SQ Lab.

공유 모드 shflag 설 명 SH_DENYRW 입/출력을 공유하지 않는다. SH_DENYWR 출력을 공유하지 않는다. SH_DENYRD 입력을 공유하지 않는다. SH_DENYNO 입출력을 공유한다. 다른 프로그램과 파일을 같이 사용할 것인지에 대한 공유 여부를 설정하며, “share.h”에 정의되어 있다. 참고 : fopen() 함수는 다른 프로그램과 파일의 입/출력을 공유한다. SQ Lab.

예제 : SH_DENYxx /*001*/ /* fsopen01SH_DENYxx01 */ /*002*/ /*003*/ #include "stdio.h" /*004*/ #include "stdlib.h" /*005*/ #include "string.h" /*006*/ #include "share.h" /* SH_DENYRW */ /*007*/ /*008*/ #pragma warning(push, 2) /*009*/ SQ Lab.

/*013*/ file01 = _fsopen("c:\\files\\SH_DENYxx01.txt", "r", /*010*/ void main() /*011*/ { /*012*/ FILE *file01; /*013*/ file01 = _fsopen("c:\\files\\SH_DENYxx01.txt", "r", /*014*/ SH_DENYRW); /*015*/ if(file01 == NULL) /*016*/ { /*017*/ printf("\n open() error : (%i)%s", errno, strerror(errno)); /*018*/ getchar(); /*019*/ exit(0); /*020*/ } /*021*/ [참고] /*014*/ SH_DENYRD); /*014*/ SH_DENYWR); /*014*/ SH_DENYNO); SQ Lab.

/*027*/ fread(buffer, 45, 1, file01); /*028*/ buffer[44] = '\0'; /*022*/ puts(""); /*023*/ char buffer[45]; /*024*/ /*025*/ do /*026*/ { /*027*/ fread(buffer, 45, 1, file01); /*028*/ buffer[44] = '\0'; /*029*/ printf("%s", buffer); /*030*/ }while(!feof(file01)); /*031*/ /*032*/ fclose(file01); /*033*/ /*034*/ printf("\n\n 끝났습니다(^@^), <Enter>하십시요. "); /*035*/ getchar(); /*036*/ } SQ Lab.