C++ 파일 처리: 파일 열기, 쓰기, 읽기, 닫기 방법 C++

파일 처리란 무엇입니까? C++?

파일은 저장 장치에 데이터를 영구적으로 저장합니다. 파일 처리를 사용하면 프로그램의 출력을 파일에 저장할 수 있습니다. 파일에 있는 동안 데이터에 대해 다양한 작업을 수행할 수 있습니다.

스트림은 입력/출력 작업이 수행되는 장치의 추상화입니다. 스트림을 불확정 길이의 문자의 대상 또는 소스로 표현할 수 있습니다. 이는 사용에 따라 결정됩니다. C++ 파일 처리 방법과 함께 제공되는 라이브러리를 제공합니다. 그것에 대해 논의해 봅시다.

fstream 라이브러리

fstream 라이브러리는 다음을 제공합니다. C++ 파일 작업을 위한 세 가지 클래스가 있는 프로그래머. 이러한 수업에는 다음이 포함됩니다.

  • 오프스트림– 이 클래스는 출력 스트림을 나타냅니다. 파일을 생성하고 파일에 정보를 쓰는 데 사용됩니다.
  • 이프스트림– 이 클래스는 입력 스트림을 나타냅니다. 데이터 파일에서 정보를 읽는 데 사용됩니다.
  • fstream– 이 클래스는 일반적으로 파일 스트림을 나타냅니다. ofstream/ifstream 기능이 함께 제공됩니다. 이는 파일 생성, 파일 쓰기, 데이터 파일 읽기가 가능함을 의미합니다.

다음 그림을 보면 이해하기 쉽습니다.

fstream 라이브러리
fstream 라이브러리

fstream 라이브러리의 위 클래스를 사용하려면 프로그램에 헤더 파일로 포함해야 합니다. 물론 #include 전처리기 지시문을 사용하게 됩니다. iostream 헤더 파일도 포함해야 합니다.

파일을 여는 방법

파일에 대한 작업을 수행하기 전에 먼저 파일을 열어야 합니다. 파일에 써야 하는 경우 fstream 또는 ofstream 객체를 사용하여 엽니다. 파일에서 읽기만 해야 하는 경우 ifstream 객체를 사용하여 엽니다.

세 가지 객체, 즉 fstream, ofstream 및 ifstream에는 open() 함수가 정의되어 있습니다. 이 함수는 다음 구문을 사용합니다.

open (file_name, mode);
  • file_name 매개변수는 열려는 파일의 이름을 나타냅니다.
  • 모드 매개변수는 선택 사항입니다. 다음 값 중 하나를 취할 수 있습니다.
가치관 기술설명
iOS:: 앱 추가 모드. 파일로 전송된 출력이 파일에 추가됩니다.
iOS::먹었다 출력을 위해 파일을 연 다음 읽기 및 쓰기 제어를 파일 끝으로 이동합니다.
iOS::에서 읽기 위해 파일을 엽니다.
iOS::아웃 쓰기 위해 파일을 엽니다.
iOS::트렁크 파일이 존재하는 경우 파일을 열기 전에 파일 요소를 잘라야 합니다.

동시에 두 가지 모드를 사용할 수 있습니다. | (OR) 연산자를 사용하여 결합합니다.

예 1 :

#include <iostream>
#include <fstream>
using namespace std;
int main() {
	fstream my_file;
	my_file.open("my_file", ios::out);
	if (!my_file) {
		cout << "File not created!";
	}
	else {
		cout << "File created successfully!";
		my_file.close(); 
	}
	return 0;
}

출력:

파일 열기

다음은 코드의 스크린샷입니다.

파일 열기

코드 설명 :

  1. 해당 기능을 사용하려면 프로그램에 iostream 헤더 파일을 포함하십시오.
  2. 클래스를 사용하려면 프로그램에 fstream 헤더 파일을 포함하세요.
  3. 클래스를 호출하지 않고 사용하려면 코드에 std 네임스페이스를 포함하세요.
  4. main() 함수를 호출합니다. 프로그램 논리는 해당 본문 내에 들어가야 합니다.
  5. fstream 클래스의 객체를 생성하고 이름을 my_file로 지정합니다.
  6. 위 객체에 open() 함수를 적용하여 새로운 파일을 생성합니다. out 모드를 사용하면 파일에 쓸 수 있습니다.
  7. if 문을 사용하여 파일 생성 실패 여부를 확인합니다.
  8. 파일이 생성되지 않은 경우 콘솔에 인쇄할 메시지입니다.
  9. if 문의 본문 끝입니다.
  10. else 문을 사용하여 파일이 생성된 경우 수행할 작업을 지정합니다.
  11. 파일이 생성된 경우 콘솔에 인쇄할 메시지입니다.
  12. 객체에 close() 함수를 적용하여 파일을 닫습니다.
  13. else 문의 본문 끝입니다.
  14. 프로그램이 성공적으로 완료되면 값을 반환해야 합니다.
  15. main() 함수 본문의 끝입니다.

파일을 닫는 방법

일단 C++ 프로그램 종료되면 자동으로

  • 스트림을 플러시합니다.
  • 할당된 메모리를 해제합니다.
  • 열린 파일을 닫습니다.

그러나 프로그래머는 프로그램이 종료되기 전에 열려 있는 파일을 닫는 방법을 배워야 합니다.

fstream, ofstream 및 ifstream 객체에는 파일을 닫기 위한 close() 함수가 있습니다. 이 함수는 다음 구문을 사용합니다.

void close();

파일에 쓰는 방법

당신은 당신의에서 바로 파일에 쓸 수 있습니다 C++ 프로그램. 이를 위해 스트림 삽입 연산자(<<)를 사용합니다. 파일에 쓸 텍스트는 큰따옴표로 묶어야 합니다.

이것을 보여드리겠습니다.

예 2 :

#include <iostream>
#include <fstream>
using namespace std;
int main() {
	fstream my_file;
	my_file.open("my_file.txt", ios::out);
	if (!my_file) {
		cout << "File not created!";
	}
	else {
		cout << "File created successfully!";
		my_file << "Guru99";
		my_file.close();
	}
	return 0;
}

출력:

파일에 쓰는 방법

다음은 코드의 스크린샷입니다.

파일에 쓰는 방법

코드 설명 :

  1. 해당 기능을 사용하려면 프로그램에 iostream 헤더 파일을 포함하십시오.
  2. 클래스를 사용하려면 프로그램에 fstream 헤더 파일을 포함하세요.
  3. 클래스를 호출하지 않고 사용하려면 프로그램에 std 네임스페이스를 포함하세요.
  4. main() 함수를 호출합니다. 프로그램 로직은 이 함수의 본문 내에 추가되어야 합니다.
  5. fstream 클래스의 인스턴스를 만들고 이름을 my_file로 지정합니다.
  6. open() 함수를 사용하여 my_file.txt라는 새 파일을 만듭니다. 파일은 쓰기를 위해 출력 모드로 열립니다.
  7. if 문을 사용하여 파일이 열리지 않았는지 확인합니다.
  8. 파일이 열리지 않은 경우 콘솔에 인쇄할 텍스트입니다.
  9. if 문의 본문 끝입니다.
  10. else 문을 사용하여 파일이 생성된 경우 수행할 작업을 지정합니다.
  11. 파일이 생성된 경우 콘솔에 인쇄할 텍스트입니다.
  12. 생성된 파일에 텍스트를 씁니다.
  13. close() 함수를 사용하여 파일을 닫습니다.
  14. else 문의 본문 끝입니다.
  15. 프로그램은 성공적으로 완료되면 값을 반환해야 합니다.
  16. main() 함수 본문의 끝입니다.

파일에서 읽는 방법

파일의 정보를 C++ 프로그램. 스트림 추출 연산자(>>)를 사용하면 가능합니다. 키보드에서 사용자 입력을 읽는 것과 같은 방식으로 연산자를 사용합니다. 그러나 cin 객체를 사용하는 대신 ifstream/fstream 객체를 사용합니다.

예 3 :

#include <iostream>
#include <fstream>
using namespace std;
int main() {
	fstream my_file;
	my_file.open("my_file.txt", ios::in);
	if (!my_file) {
		cout << "No such file";
	}
	else {
		char ch;

		while (1) {
			my_file >> ch;
			if (my_file.eof())
				break;

			cout << ch;
		}

	}
	my_file.close();
	return 0;
}

출력:

파일에서 읽기

해당 파일이 없습니다

다음은 코드의 스크린샷입니다.

파일에서 읽기

코드 설명 :

  1. 해당 기능을 사용하려면 프로그램에 iostream 헤더 파일을 포함하십시오.
  2. 클래스를 사용하려면 프로그램에 fstream 헤더 파일을 포함하세요.
  3. 클래스를 호출하지 않고 사용하려면 프로그램에 std 네임스페이스를 포함하세요.
  4. main() 함수를 호출합니다. 프로그램 로직은 이 함수의 본문 내에 추가되어야 합니다.
  5. fstream 클래스의 인스턴스를 만들고 이름을 my_file로 지정합니다.
  6. open() 함수를 사용하여 my_file.txt라는 새 파일을 만듭니다. 파일은 읽기 모드로 열립니다.
  7. if 문을 사용하여 파일이 존재하지 않는지 확인합니다.
  8. 파일을 찾을 수 없는 경우 콘솔에 인쇄할 텍스트입니다.
  9. if 문의 본문 끝입니다.
  10. else 문을 사용하여 파일이 발견되면 수행할 작업을 지정합니다.
  11. 만들기 문자 변수 이름이 ch.
  12. 만들기 while 루프 파일 내용을 반복합니다.
  13. 변수 ch에 파일의 내용을 쓰거나 저장합니다.
  14. if 조건과 eof() 함수, 즉 파일의 끝을 사용하여 끝에 도달하지 않은 경우에도 컴파일러가 파일에서 계속 읽도록 합니다.
  15. 끝에 도달하면 파일 읽기를 중지하려면 break 문을 사용하십시오.
  16. 콘솔에 변수 ch의 내용을 인쇄합니다.
  17. while 본문의 끝입니다.
  18. else 문의 본문 끝입니다.
  19. close() 함수를 호출하여 파일을 닫습니다.
  20. 프로그램은 성공적으로 완료되면 값을 반환해야 합니다.
  21. main() 함수 본문의 끝입니다.

제품 개요

  • 파일 처리를 통해 프로그램의 출력을 파일로 전송하고 저장할 수 있습니다.
  • 그런 다음 파일에 있는 데이터에 여러 가지 작업을 적용할 수 있습니다.
  • 스트림은 입출력 작업이 수행되는 장치를 나타내는 추상화입니다.
  • 스트림은 길이가 무한한 문자의 대상 또는 소스로 표시될 수 있습니다.
  • fstream 라이브러리는 다음을 제공합니다. C++ 파일 처리 방법을 갖춘 프로그래머.
  • 라이브러리를 사용하려면 #include 전처리기 지시문을 사용하여 프로그램에 라이브러리를 포함해야 합니다.