파일을 여는 데는 여러 가지 모드가 있습니다. 파일 의 모드에 따라, 그것은 읽거나 쓰기 또는 텍스트를 추가할 수 있습니다. 그들은 아래에 나열되어 있습니다. 이 프로그램에서는 두 개의 FILE 포인터를 만들었으며 둘 다 동일한 파일을 참조하지만 다른 모드로 사용됩니다. 청크에서 파일을 읽으려고 하지만 동적 메모리 할당 없이 수행할 수 있습니다. 파일을 사용하여 직원의 세부 정보를 업데이트하고 명령줄 인수에서 가져온 직원 레코드를 만듭니다. 이 섹션의 다른 프로그램은 주어진 두 파일의 줄을 조인하고 새 파일에 저장하고 총 줄, 빈 줄의 총 수, 총 번호와 같은 소스 파일의 통계를 수집합니다. 세미콜론으로 끝나는 선의. 그래서 더 나은 파일의 짧은 부분을 읽고 인쇄합니다.
여기서 *fp는 열린(또는 생성된) 파일에 대한 참조를 보유하는 FILE 포인터(FILE *fp)입니다. read() 함수는 열려 있는 파일 설명자, fildes와 연결된 파일에서 buf가 가리키는 버퍼로 nbyte 바이트를 읽으려고 시도해야 합니다. 파일 열기 또는 만들기 파일을 열기 위해, 펜오픈 기능은 필요한 액세스 모드와 함께 사용된다. 일반적으로 사용되는 파일 액세스 모드 중 일부는 아래에 설명되어 있습니다. fclose() 함수는 이미 열린 파일을 닫는 데 사용됩니다. 쓰기 모드에서 파일을 열 때 파일이 재설정되어 파일에 이미 있는 데이터가 삭제된다는 차이점이 있습니다. 부속 모드에서는 이런 일이 발생하지 않습니다. 추가 모드는 파일의 기존 데이터(있는 경우)에 데이터를 추가하거나 추가하는 데 사용됩니다. 따라서 Append(a) 모드에서 파일을 열면 커서는 파일의 현재 데이터의 끝에 배치됩니다. 쓰기 (w) 모드와 (a) 모드를 부가하면 파일을 여는 것은 거의 동일합니다.
둘 다 파일에 쓰는 데 사용됩니다. 두 모드에서 새 파일이 이미 존재하지 않는 경우 새 파일이 만들어집니다. 파일은 디스크와 같은 보조 저장 장치에 저장되는 바이트의 모음입니다. 시스템에는 두 가지 종류의 파일이 있습니다. 그들은, 첫째, 스캔을 사용하지 않습니다. 버퍼 크기를 지정하기 위해 매개 변수를 사용하고 줄 바선이 있는 문자를 그대로 두는 fgets()를 사용합니다. 버퍼 콘텐츠를 인쇄하는 파일 위에 있는 간단한 루프는 자연스럽게 파일을 그대로 복사해야 합니다. 동적 메모리 할당으로 전체 파일을 읽을 수 있지만 파일이 너무 크면 메모리 문제가 발생할 수 있으므로 좋은 생각이 아닙니다. 지금까지 C 프로그램을 사용하는 작업은 아무 데도 저장되지 않는 프롬프트 / 터미널에서 수행됩니다.
그러나 소프트웨어 업계에서는 대부분의 프로그램이 프로그램에서 가져온 정보를 저장하도록 작성됩니다. 이러한 방법 중 하나는 가져온 정보를 파일에 저장하는 것입니다. 파일에서 수행할 수 있는 다른 작업은 다음과 같습니다: 공백 구분 된 문자열을 통해 파일을 처리 해야 하는 경우 fgets 또는 fread 파일을 읽고 strtok 같은 것 들을 사용 하 여 공백에서 버퍼를 분할 합니다. 대상 문자열이 버퍼 경계를 아우르는 가능성이 있으므로 한 버퍼에서 다음 버퍼로의 전환을 처리하는 것을 잊지 마십시오. 우리는 자주 프로그램에 의해 처리 될 수있는 정보를 저장하기 위해 파일을 사용합니다. 정보를 영구적으로 저장하고 검색하려면 파일을 사용해야 합니다. 이 섹션의 C 프로그램은 파일 작성, 파일에 정보 저장 및 파일에 있는 데이터 읽기를 보여 줍니다. 둘째, fread() 또는 fgetc()와 함께 일반적인 C 관용구를 사용합니다. 이렇게 하면 파일을 고정 크기 청크 또는 한 번에 한 문자로 처리합니다. fread() 및 fwrite() 함수는 이진 파일입니다. 이 섹션의 C 프로그램은 파일 의 내용에 대한 변환, 바꾸기, 개수 및 역방향 작업을 다룹니다.
프로그램은 파일의 내용을 대문자와 소문자로 변환하고, 파일 내용의 반전을 수행하고, 프로그램의 줄과 주석 수를 계산하고, 모든 단어의 첫 글자문자를 대문자로 대체합니다.