본문 바로가기

공부/프로그래밍

[C++] 파일입출력 : 텍스트를 출력하고 읽는 프로그램

간단히 말해서 파일입출력을 이용한 프로그램으로 텍스트 파일을 생성하거나

텍스트 파일 내용을 받아 배열에 저장해 프로그램에 띄우는 간단한 프로그램입니다.

설명은 이해에 초점을 뒀으며 실제 용어랑은 안맞을 수도 있습니다.

 


 

출력 프로그램
#include <iostream>
#include <fstream>          // 입출력 헤더

using namespace std;

int main()
{

 double a[5];
 cout << "a[1] :";
 cin >> a[0];
 cout << "a[2] :";
 cin >> a[1];
 cout << "a[3] :";
 cin >> a[2];
 cout << "a[4] :";
 cin >> a[3];
 cout << "a[5] :";
 cin >> a[4];                    //  배열을 선언하고 배열에 숫자를 입력하는 코드

 ofstream os;                   // os란 변수로 파일 출력 선언
 os.open("array_data.txt");   // os로 텍스트 파일 오픈 ( 이 시점엔 생성시킨다 보면 됩니다. )
 os <<a[0]<<endl;            
 os <<a[1]<<endl;
 os <<a[2]<<endl;
 os <<a[3]<<endl;
 os <<a[4]<<endl;            // 변수 os에 변수 a에 저장된 값을 입력
 os.close();                      // 파일 닫기 ( 파일을 열었으면 항상 해줘야 합니다. )

 return 0;
}

* 결과값으로 출력된 메모장 파일


읽기 프로그램
#include <iostream>
#include <fstream>         // 입출력 헤더

using namespace std;

int main()
{
 double a[5];            // 읽을 때 사용할 변수 선언

 ifstream is;                             // 읽기 변수 선언  
 is.open("array_data.txt");            // 텍스트 파일 오픈 ( array_data.txt라는 파일이 같은 폴더 내에 존재해야 합니다. )
 is >> a[0];
 is >> a[1];
 is >> a[2]; 
 is >> a[3];
 is >> a[4];                              // 열어낸 파일에서 텍스트를 배열에 저장해줍니다.
 is.close();                                // 파일을 닫아줍니다.

 cout << "a[1] ="<<a[0]<<endl;
 cout << "a[2] ="<<a[1]<<endl;
 cout << "a[3] ="<<a[2]<<endl;
 cout << "a[4] ="<<a[3]<<endl;
 cout << "a[5] ="<<a[4]<<endl;   // 읽어낸 텍스트를 저장한 배열을 화면에 표시.

    return 0;
}
 

* is >> a[i]로 읽는 것에 대해서 배열의 구분은 띄어쓰기나 엔터했을 경우 구분됩니다.

 

# char, string으로도 가능하며 분할은 위와 동일하게 엔터와 띄어쓰기로 구분합니다.

char는 문자 하나만 저장 가능하므로 위와 같이 구분하지 않고 연속적으로 문자를 받아들입니다.

자료형이 char일 경우 : 

자료형이 string일 경우 :  

 

posting end.

728x90