산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> C 언어

C++ 파일 처리:C++에서 파일을 열고, 쓰고, 읽고, 닫는 방법

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

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

스트림은 입력/출력 작업이 수행되는 장치의 추상화입니다. 스트림을 대상 또는 무기한 길이의 문자 소스로 나타낼 수 있습니다. 이것은 그들의 용도에 따라 결정될 것입니다. C++는 파일 처리를 위한 메서드와 함께 제공되는 라이브러리를 제공합니다. 논의해 봅시다.

이 C++ 자습서에서는 다음을 배우게 됩니다.

fstream 라이브러리

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

다음 이미지를 통해 쉽게 이해할 수 있습니다.

<중앙>

<그림>



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

파일을 여는 방법

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

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

open (file_name, mode);
값 설명 ios::app추가 모드입니다. 파일로 보낸 출력은 it.ios::ate에 추가됩니다. 출력을 위해 파일을 연 다음 읽기 및 쓰기 제어를 파일의 end.ios::in로 이동합니다. 읽기를 위해 파일을 엽니다.ios::out 파일을 엽니다. write.ios::trunc의 경우 파일이 존재하는 경우 파일 요소는 열기 전에 잘려야 합니다.

두 가지 모드를 동시에 사용할 수 있습니다. |를 사용하여 결합합니다. (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() 함수를 적용하여 새 파일을 생성합니다. 출력 모드를 사용하면 파일에 쓸 수 있습니다.
  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라는 char 변수를 생성합니다.
  12. 파일 내용을 반복하기 위한 while 루프를 만듭니다.
  13. 파일의 내용을 변수 ch에 기록/저장합니다.
  14. 파일의 끝인 if 조건과 eof() 함수를 사용하여 끝에 도달하지 않은 경우 컴파일러가 파일을 계속 읽도록 합니다.
  15. 끝에 도달하면 파일 읽기를 중지하려면 break 문을 사용하세요.
  16. 변수 ch의 내용을 콘솔에 출력합니다.
  17. while 본문의 끝.
  18. else 문의 본문 끝.
  19. close() 함수를 호출하여 파일을 닫습니다.
  20. 프로그램은 성공적으로 완료되면 값을 반환해야 합니다.
  21. main() 함수 본문의 끝입니다.

요약:


C 언어

  1. C 파일 처리
  2. TEXTIO를 사용하여 파일에서 RAM을 초기화하는 방법
  3. C++ 예외 처리:시도, 캐치, 던지기 예제
  4. C 프로그래밍에서 주석을 작성하는 방법
  5. Java BufferedReader:예제를 사용하여 Java에서 파일을 읽는 방법
  6. C - 헤더 파일
  7. C++ 파일 및 스트림
  8. C++ 신호 처리
  9. 파이썬 - 파일 I/O
  10. 마이크로미터란? | 마이크로미터를 읽는 방법