모든 메모리에서 실행되는 데이터 처리 프로그램을 수행
-
개념 종이
-
프로그램을 저장, 문서, 오디오, 비디오, 데이터, 이미지 및 기타 데이터에 사용되는 파일
-
파일은 일부 데이터의 디스크 집합에 저장됩니다.
-
-
파일 버퍼는 라이브러리 함수에 의해 운영 메모리의 기간 동안 라이브러리 함수이며, 프로그래머가 저장할 위치를 알 필요가 없다, 단지 파일의 특성을 조작 할 수있는 버퍼 시간이 필요
-
라인 버퍼
-
광고 출력 버퍼 무엇 이오 표준 라이브러리 함수, 표준 출력 (스크린)에 시간
-
이 버퍼를 새로 쳤을 때 소위 라인 버퍼는 버퍼 줄 바꿈입니다
-
-
완전 버퍼
-
정상 이오 표준 라이브러리 함수, 파일 읽기 및 쓰기 데이터는 완전히 버퍼링
-
줄 바꿈은 버퍼가 가득 것을, 버퍼를 플래시하지, 버퍼를 플러시
-
버퍼 상쾌한
-
버퍼가 가득, 버퍼를 플래시
-
인공 새로 고침 버퍼 FFLUSH (파일 포인터)
-
이 프로그램은 일반적으로 버퍼를 새로 끝단
-
-
-
버퍼링
-
파일을 읽고 쓸 때 시스템을 통해 (읽기 쓰기) IO를 호출, 파일은 데이터를 읽고 쓰는
-
이 시간은 데이터가 바로 파일에 기록되도록, 버퍼가없고, 데이터가 즉시 메모리로 읽어
-
-
쓰기 파일의 처리
-
응용 프로그램 공간 -> 커널 공간 -> 드라이버 -> 하드 디스크에
-
다른 공간에서 실행되는 응용 프로그램과 커널은 목적은 커널을 보호하는 것입니다
-
-
대상 버퍼를 설정
-
효율성을 개선하기 위해 버퍼를 통해 핵심 중의 수를 줄일 수 있습니다
-
-
-
분류 디스크 파일
-
명명 된 저장 영역에 대한 디스크에 보통 파일
-
바이트 순차적으로 저장소에 물리적으로 이진 컴퓨터 메모리, 그래서 기본적으로 모든의 물리적 디스크 파일 같은,
-
사용자 또는 운영 체제의 관점에서 (논리적으로)
-
이 문서는으로 나누어 져
-
텍스트 파일
-
등의 문자 인코딩, 일반적인 인코딩 ASCII, 유니 코드에 기반
-
일반적으로 직접 열려면 텍스트 편집기를 사용할 수 있습니다
-
가사 파일 (LRC) : 이진 파일
-
-
바이너리 파일
-
이 값을 지정을 의미 하는가 어떤 응용 프로그램 자신에 따라, 값 인코딩을 기반으로
-
메모리에서의 형태에 따른 메모리에 저장된 데이터를 디스크에 출력
-
일반적으로 우리는 스스로 판단하거나 데이터 형식을 분석하기 위해 특정 소프트웨어를 사용해야합니다
-
오디오 파일 (MP3) : 이진 파일
-
이미지 파일 (BMP) 파일, 픽셀은 두 바이트 ** * ** ##### &&&&& 설명한다
-
* 적색 값을 나타낸다
-
# 녹색의 값을 나타냅니다
-
블루 값을 나타내는 &
-
이진 비트 의미를 나타내는
-
-
-
텍스트 파일, 이진 파일 비교
-
디코딩
-
문자 기반 텍스트 파일 고정 길이 부호화 쉽게 디코딩하는 단계;
-
어려운 다수의 디코딩 진 가변 길이 코딩 (다른 이진 파일 형식을 코딩의 여러 가지 방법이있다)인가
-
-
공간 활용
-
평균 (비트 연산)로 표시되는 이진 비트
-
텍스트는 어떤 의미를 적어도 하나 개의 문자를 파일
-
-
-
-
-
-
-
파일 포인터
-
파일 (대신) 프로그램을 표시하는 데 사용 포인터를 파일, 파일 포인터는 열린 파일에 파일 포인터는 열린 파일을 표시하는 데 사용됩니다 우리
-
우리는 파일 읽기에 갔을 때, 닫기 등의 동작을, 파일 포인터가, 독서를 통과, 우리는 포인터를 파일 것, 조작 작성하기, 쓰기, 다른 기능을 종료하는 기능은 작동 할 파일을 알 수
-
정의 파일 포인터의 일반적인 형태
-
FILE * 포인터 변수 식별자
-
포함 대문자 필요성을 제기 <STDIO.H>
-
시스템을 제기하는 형식 정의 아웃의 유형에 대한 파일 구조 정보를 사용하여, 파일 이름, 현재 위치의 파일 정보를 포함하는 구조
-
작업이 우리가 운영하려고하는 파일 포인터 파일을 표시하기 전에 정상적인 상황에서, 우리는 파일을 정의해야합니다
-
, 세부 사항 파일 구조에 대해 관심을 그냥 라이브러리 함수 IO 파일 포인터를 통과 한 다음 내부 정보 파일의 파일 구조에서 작동하지 않고, 파일 조작에 사용 된 실제 프로그래밍 라이브러리 함수
-
FILE 다시 STDIO.H 파일 문서 유형 선언
-
타입 정의 구조체
-
{
-
학위 // 버퍼 "전체"또는 "빈"; 짧은 수준
-
서명되지 않은 플래그; // 파일 상태 플래그
-
문자의 FD; // 파일 기술자
-
서명되지 않은 charhold; // 버퍼가 문자를 읽을하지 않은 경우
-
짧은 bsize 상기 버퍼의 크기 //
-
* 부호 문자 버퍼; // 데이터 버퍼 위치
-
서명되지 않은 아칸소 *의 curp; // 포인터, 현재의 자신감
-
서명되지 않은 istemp; // 임시 파일, 표시
-
shorttoken; // 유효성 검사
-
}파일
-
버퍼와 다음 파일 시스템으로, 각각의 파일은 파일 조작에 관한 정보를 저장하는 파일 형식의 메모리 영역을 개방하는 데 사용되어야한다.
-
-
-
단계 파일 작업 :
-
파일 포인터 파일 가져 오기 전에 파일을 열려면 읽기 및 쓰기 작업
-
당신은 읽기 위해 파일을 참조하고 같은 파일 작업을 작성할 수 있습니다
-
읽기 및 쓰기 작업이 완료된 후, 파일을 닫고, 파일을 파일을 닫습니다 수 더 이상 파일 포인터 동작에 의해
-
-
보충
-
C 언어는 세 가지 포인터는 특수 파일을 정의 할 필요가있다, 다음 프로그램을 직접 사용할 수 있습니다
-
표준 입력 : 기본적는 현재의 표준 입력 단자 (키보드)입니다
-
표준 출력 : 표준 출력은 기본 전류 단자 (화면) 인
-
우리는의 printf를 사용하여이 기능을 기본 출력 단자를두고
-
-
열려진 : 현재 단말 장치 표준 에러 출력 파일 기본값 (화면)
-
우리가 프로그램 오류를 사용하는 경우 다음과 같은 경우이 단자 다시 함수 perror는 인쇄
-
-
-
-
-
-
fopen의 파일을 엽니 다
-
기능 정의 :
-
* 파일하면 fopen (CONST 숯 * 경로 CONST 숯 * 모드);
-
-
기능 설명
-
기능하면 fopen 함수는 기존의 파일을 열 수 있고 (파일 표시) 파일로 파일 포인터를 반환하거나 파일을 생성하고이 파일을 연 다음 표시된 파일로 돌아가
-
-
함수 매개 변수
-
경로 열려있는 파일 : 매개 변수 1
-
-
루트 디렉토리 경로 이름에서 시작하는 절대 경로,
-
"/home/edu/test/test.txt"
-
-
상대 경로
-
"./test/test.txt"
-
"../test/test.txt"
-
-
-
-
매개 변수 2 : 파일 열기 방식, 즉, 어떤 방법 (읽기 전용, 쓰기 전용, 읽기 - 쓰기 등) 파일을 엽니에서
-
-
-
파일 FCLOSE을 닫습니다
-
함수 헤더 파일 :
-
#INCLUDE <STDIO.H>
-
-
기능 정의 :
-
INT의 FCLOSE (파일 *의 FP);
-
-
기능 설명 :
-
닫기 FP 파일을 나타냅니다
-
-
파일이 더 이상 다른 작업에 대한 파일을 읽고 쓰기를 의미 한 후 파일 만 반복적으로 종료되지 일단 폐쇄하지 않는 파일을 닫습니다 수 있습니다
-
반환 값 :
-
성공적인 복귀 0
-
비 0을 반환 할 수 없습니다
-
-
당신은 파일이 성공적으로 종료되었는지 여부를 결정하는 값을 반환 할 수 있습니다
-
-
일단 문자를 읽어
-
기능 정의
-
INT는 fgetc의 (파일 스트림 *)
-
-
기능 설명 :
-
는 fgetc 바이트 값을 반환 스트림 파일로부터 판독 지시 바이트
-
-
반환 값 :
-
방법의 t에서 : 파일이 EOF를 반환의 끝 부분을 읽어
-
B 방식 : 읽을 수있는 파일의 끝에, 상기 결정된 최종 무엇이 일어 났는지를 결정하기 위해 feof를 사용
-
무엇이 일어 났는지를 결정하기 위해 feof (파일이 파일 스트림의 끝을 읽을 지 여부를 확인)
-
INT 무엇이 일어 났는지를 결정하기 위해 feof (FILE *의 스트림)
-
기능 설명 : 무엇이 일어 났는지를 결정하기 위해 feof ()가 파일의 끝이 읽기 전용인지 여부를 검색하는 데 사용됩니다, 파일 포인터 가수 스트림이 fopen을 반환 (). 파일의 끝 아닌 값이 반환되는 경우, 그렇지 않은 경우는 0을 돌려줍니다
-
반환 값은 파일의 끝이 아닌 값 담당자에 도달 반환
-
-
-
기능 정의 :
-
INT fputc (INT C, 파일 스트림 *)
-
-
기능 설명
-
fputc (C)의 값으로 표시되는 파일 스트림에 기록
-
-
반환 값
-
결과는 성공하면, 출력 바이트의 반환 값
-
출력이 실패하면 EOF를 반환
-
-
-
인 읽기와 문자열을 쓰기
-
* CHAR는 fgets (숯 * s의 INT 크기, 파일 스트림 *);
-
스트림 파일로부터 문자에 언급 읽고, 읽을 때 바이트 크기-1 정거장 파일을 읽는 줄 바꿈 또는 최종 정지 충돌, 또는 읽기, 읽기 내용 뒤에 문자열의 끝으로, 0 \ 값이 될 것입니다
-
반환 값 : 대상 배열의 첫 번째 주소의 성공적인 복귀, 즉 s입니다
-
NULL을 반환 할 수 없습니다
-
-
-
INT fputs (CONST 숯 * s의 파일 스트림 *);
-
기능 :
-
문자열로 표현 스트림의 파일에 기록들 지적
-
-
반환 값
-
바이트 수는 성공적으로 기록 돌려줍니다
-
실패는 반환 -1
-
-
-
-
파일 FREAD 읽기
-
기능 정의 :
-
이 size_t의 FREAD (공극의 * PTR, size_t와 크기를 size_t nmemb 파일 * 스트림);
-
-
기능 설명 :
-
FREAD 함수는 스트림 파일 데이터의 사이즈 PTR가 가리키는 메모리에 저장 한 바이트 nmemb 블록의 합계이다로부터 판독 지시
-
-
반환 값 :
-
블록의 실제 수는 읽기
-
-
예를 들면
-
INT 인분;
-
NUM = FREAD (STR, 100,3, FP);
-
상기 메모리에 저장된 FP 나타내는 파일로부터 판독 된 바이트의 수는 각각 100 바이트에 대한 판독, 총 세 인수 str NUM 값을 반환 지적
-
반환 값은 300 바이트 NUM 3을 읽을 경우
-
판독이 200 바이트와 동일보다 큰 경우, 반환 값은 2,보다 작은 300 바이트
-
판독 된 바이트의 수는 1을 반환 초과, 미만 또는 200 바이트의 100 바이트와 동일
-
미만 100 바이트는 0을 반환
-
-
-
에 fwrite 쓰기 파일
-
기능 정의 :
-
이 size_t에 fwrite (공극의 * PTR, size_t와 크기를 size_t nmemb 파일 * 스트림);
-
-
기능 설명 :
-
메모리 데이터에 fwrite 함수 PTR 포인트가 표시된 문서의 스트림에 기록
-
-
반환 값 :
-
성공 반환 값은 기본 입출력 유닛의 수는 실행이 실패한 경우, 반환 값은 0이된다
-
-
참고 :
-
에 fwrite 함수는 파일 - 메모리 데이터가 출력된다
-
이 메모리에 판독된다 FREAD 함수로서 데이터 파일
-
-
-
서식 파일 기능은 읽기 및 쓰기
-
함수 호출
-
fprintf와 (파일 포인터, 형식 문자열 출력 테이블 컬럼);
-
fscanf (파일 포인터, 형식 문자열, 테이블 열을 입력)
-
-
기능 :
-
디스크 또는 출력 파일에서 문자를 읽기
-
-
이 같은 fprintf와와의 printf 함수 :
-
fprintf와 기능은 파일에 데이터를 출력하는 동안의 printf 데이터는 화면 (표준 출력)에 출력되고
-
-
유사한 fscanf, scanf와
-
scanf와 키보드 (표준 입력) 입력을 얻는 것입니다, 입력 fscanf는 파일 포인터 표시 파일에서 획득
-
-
-
읽기 및 쓰기 임의
-
파일 읽기 및 위치에 기록하고 읽기 및 쓰기, 랜덤 액세스 호출되는 기록해야 할 내부의 포인터의 위치를 이동할 수 있습니다. 임의의 키를 읽기 및 쓰기 위치 포인터는 파일을 찾으라고 요구에 따라 이동합니다.
-
전체 파일 위치 기능이
-
되감기 기능은 기록 위치를 재설정
-
보이드 되감기 (파일 포인터);
-
기능 :
-
첫 번째 파일에 파일 내부의 포인터의 위치
-
-
전화 형태 :
-
텍스트 파일 포인터);
-
-
-
ftell은 읽기 및 파일의 수를 쓰기 파일 위치 파일의 시작 부분에서 측정
-
정의 기능 :
-
긴 ftell은 (파일 포인터);
-
-
기능 기능
-
현재 파일 스트림 읽기와 위치를 쓰기 얻을 수 있습니다
-
-
반환 값 :
-
(사용할 수있는 바이트의 파일 번호부터 시작) 현재의 read 위치를 반환
-
-
-
fseek과 위치 결정 함수 포인터 (기입 위치)
-
fseek과 함수 (즉, 일반적으로 실시 예 B를 획득하기 위해 필요로 파일을 여는 데 이진 파일)
-
정의 함수
-
INT의 fseek는 (파일 * 스트림에 긴 INT 어디서 오프셋);
-
// INT fseek는 (포인터 파일 형식 변위량 시작점)
-
-
기능 :
-
파일 쓰기 위치
-
-
매개 변수 :
-
시작 위치 어디서
-
파일 SEEK_SET 0의 시작
-
현재 파일 위치 SEEK_CUR (1)
-
파일 SEEK_END이 종료
-
-
변위량
-
출발점에서 시작, 앞으로, 뒤로 바이트를 이동합니다. 그것은 음수가 될 수 있습니다. 정방향이 파일의 끝을 이동하는 파일은 엔드 네거티브 오프셋
-
-
-
반환 값
-
호출이 성공하면 오류가 errno에 에러 코드가 저장됩니다, -1이 반환되는 경우는, 0을 반환
-
-
-
-
-
파일 암호화 / 복호화
-
대칭 암호화 시스템은 기존의 고전적인 암호화 시스템 전략이다. 대칭 암호 시스템, 즉, 소위 사이드 A 및 암호화 된 복호화 키 B 국은 키를 공유한다. 키 암호화 키를 사용하여 당사자는함으로써 암호문을 생성하는, 비밀 파일 조작을 암호화하는 단계; 파티 B하여 평문을 생성 실시 복호화 동작에 대하여 생성 된 암호화 파일을 암호화하기 위해 같은 키를 사용하여 키를 해독
-