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

C++ 파일 입출력 마스터: 열기, 읽기, 쓰기, 닫기 완벽 가이드

C++에서 파일 처리란?

파일 처리를 통해 프로그램 데이터를 저장 장치에 영구 저장할 수 있습니다. 프로그램 출력을 파일로 보내면 해당 데이터에 대한 추가 조작, 분석, 아카이빙이 가능해집니다.

스트림은 문자의 연속적인 소스 또는 대상을 나타내는 추상화입니다. C++은 파일과 원활하게 작업할 수 있는 클래스와 함수를 제공하는 강력한 fstream 라이브러리를 제공합니다.

이 튜토리얼에서 배울 내용:

fstream 라이브러리

fstream 라이브러리는 세 가지 핵심 클래스를 제공합니다:

아래는 빠른 시각적 참조입니다:

C++ 파일 입출력 마스터: 열기, 읽기, 쓰기, 닫기 완벽 가이드

이 클래스들을 사용하려면 fstream 헤더를 포함하고, 콘솔 출력도 필요하다면 iostream도 포함하세요.

파일 열기 방법

파일 작업 전 파일을 열어야 합니다. 쓰기 전용은 ofstream, 읽기 전용은 ifstream, 둘 다는 fstream을 사용하세요. 각 클래스는 open() 멤버를 제공합니다:

open(file_name, mode);
값설명
ios::app추가 모드 – 쓰기는 파일 끝에 추가
ios::ate열고 즉시 끝으로 이동
ios::in읽기용으로 열기
ios::out쓰기용으로 열기
ios::trunc기존 파일을 길이 0으로 자르기

여러 플래그는 비트 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;
}

출력:

C++ 파일 입출력 마스터: 열기, 읽기, 쓰기, 닫기 완벽 가이드

실행 중인 프로그램 스크린샷:

C++ 파일 입출력 마스터: 열기, 읽기, 쓰기, 닫기 완벽 가이드

코드 분석:

  1. 콘솔 I/O용 iostream 포함
  2. 파일 스트림용 fstream 포함
  3. 간결성을 위해 std 네임스페이스 사용
  4. my_file이라는 fstream 객체 인스턴스화
  5. 쓰기 모드(ios::out)로 파일 열기
  6. 성공적 열기 확인; 실패 시 보고
  7. 성공 시 확인 메시지 출력 후 파일 닫기
  8. 정상 종료를 나타내기 위해 0 반환

파일 닫기 방법

C++은 프로그램 종료 시 스트림을 자동으로 플러시하고 닫지만, 마지막 작업 후 명시적으로 파일을 닫는 것이 좋은 관행입니다.

close() 멤버는 fstream, ofstream, ifstream에서 사용 가능:

void close();

파일에 쓰기 방법

쓰기 작업은 스트림 삽입 연산자(<<)를 사용합니다. 저장할 텍스트는 따옴표로 묶거나 직접 스트리밍해야 합니다.

예제 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;
}

출력:

C++ 파일 입출력 마스터: 열기, 읽기, 쓰기, 닫기 완벽 가이드

코드 스크린샷:

C++ 파일 입출력 마스터: 열기, 읽기, 쓰기, 닫기 완벽 가이드

코드 분석:

  1. 필요한 헤더 포함
  2. fstream 객체 생성
  3. 대상 파일을 쓰기 모드로 열기
  4. 파일 스트림 검증
  5. 문자열 "Guru99"를 파일에 삽입
  6. 스트림 닫기
  7. 0 반환

파일에서 읽기 방법

읽기는 스트림 추출 연산자(>>)를 사용하며 cin과 같습니다. 데이터는 적절한 타입의 변수로 스트리밍됩니다.

예제 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;
}

출력:

C++ 파일 입출력 마스터: 열기, 읽기, 쓰기, 닫기 완벽 가이드

실행 중인 코드 스크린샷:

C++ 파일 입출력 마스터: 열기, 읽기, 쓰기, 닫기 완벽 가이드

코드 분석:

  1. iostream과 fstream 포함
  2. 읽기용(ios::in)으로 파일 열기
  3. 존재 여부 확인; 없으면 사용자에게 알림
  4. EOF 도달할 때까지 문자 단위 읽기
  5. 각 문자를 콘솔에 출력
  6. 스트림 닫기
  7. 0 반환

요약

C 언어

  1. C 파일 입출력: fopen, fprintf, fread, fseek 마스터하기
  2. VHDL TEXTIO 라이브러리로 텍스트 파일에서 FPGA 블록 RAM 초기화하기
  3. C++ 예외 처리 마스터: try, catch, throw 실전 예제
  4. C 언어 주석 마스터하기: 명확하고 효과적인 주석 작성법
  5. Java BufferedReader로 파일 읽기: 실전 가이드와 예제
  6. C 헤더 파일 이해: 유형, 사용법, 모범 사례
  7. C++ 파일 입출력 마스터하기: fstream으로 읽고 쓰기
  8. C++ 시그널 처리 마스터하기: 안전한 인터럽트 관리와 깔끔한 프로그램 종료
  9. 파이썬 파일 입출력: I/O 작업 마스터하기
  10. 마이크로미터 완벽 가이드: 종류, 구조, 읽는 법 및 정밀 측정 노하우