소개
이 랩에서는 C++ 프로그래밍 언어를 사용하여 파일을 한 줄씩 읽고 쓰는 방법을 배우게 됩니다. 파일을 생성하고, 파일에 쓰고, 내용을 한 줄씩 읽는 방법을 익힐 것입니다.
파일 생성 및 열기
~/project 디렉토리에 file_io.cpp라는 C++ 파일을 생성합니다. 이 단계에서는 example.txt라는 파일을 생성하고 열 것입니다.
#include <fstream>
int main() {
// Creating and opening a file
std::ofstream ofs;
ofs.open("example.txt", std::ofstream::out | std::ofstream::trunc);
ofs.close();
return 0;
}
설명:
ofstream은 파일에 쓰기 위한 클래스입니다.ofs는ofstream클래스의 객체입니다.open()메서드는 파일을 생성하고 여는 데 사용됩니다.open()메서드에서 첫 번째 인수는 생성할 파일의 이름이고, 두 번째 인수는 파일을 열 모드를 지정합니다. 여기서out은 파일을 쓰기 위해 연다는 것을 지정하고,trunc는 파일이 이미 존재할 경우 잘라낸다는 것을 지정합니다.
파일에 쓰기
이 단계에서는 example.txt 파일에 쓸 것입니다.
#include <fstream>
#include <iostream>
#include <string>
int main() {
std::ofstream ofs;
ofs.open("example.txt", std::ofstream::out | std::ofstream::trunc);
if (ofs.is_open()) {
std::cout << "Enter text to write to the file (Enter empty line to exit):" << std::endl;
std::string line;
do {
std::getline(std::cin, line);
if (line.length()) {
ofs << line << std::endl;
}
} while (line.length());
ofs.close();
} else {
std::cerr << "Error in opening the file" << std::endl;
}
return 0;
}
설명:
std::cout은 사용자에게 파일에 쓸 텍스트를 입력하라는 메시지를 콘솔에 표시하는 데 사용됩니다.std::getline()은 사용자 입력을 한 줄씩 읽어line변수에 저장하는 데 사용됩니다.if (line.length())는 사용자가 텍스트를 입력했는지 여부를 확인하는 데 사용됩니다. 사용자가 텍스트를 입력하지 않은 경우 루프가 종료됩니다.ofs << line << std::endl;은 사용자 입력을 파일에 쓰고, 그 뒤에 줄 바꿈 문자를 추가하는 데 사용됩니다.std::cerr은 파일을 열 수 없는 경우 콘솔에 오류 메시지를 표시하는 데 사용됩니다.
이 프로그램을 실행하려면 ~/project 디렉토리로 이동하여 다음 명령을 실행하십시오.
g++ file_io.cpp -o file_io && ./file_io
이 프로그램은 사용자에게 파일에 쓸 텍스트를 입력하라는 메시지를 표시한 다음 사용자 입력을 파일에 씁니다.
파일에서 읽기
이 단계에서는 example.txt 파일의 내용을 읽습니다.
#include <fstream>
#include <iostream>
#include <string>
int main() {
std::ifstream ifs;
ifs.open("example.txt");
if (ifs.is_open()) {
std::cout << "Contents of the file:" << std::endl;
std::string line;
while (std::getline(ifs, line)) {
std::cout << line << std::endl;
}
ifs.close();
} else {
std::cerr << "Error in opening the file" << std::endl;
}
return 0;
}
설명:
std::ifstream은 파일에서 읽기 위한 클래스입니다.ifs는ifstream클래스의 객체입니다.open()메서드는 기존 파일을 여는 데 사용됩니다.open()메서드에서 인수는 열 파일의 이름입니다.std::cout은 파일의 내용이 표시되고 있음을 나타내는 메시지를 콘솔에 표시하는 데 사용됩니다.std::getline()은 파일의 내용을 한 줄씩 읽어line변수에 저장하는 데 사용됩니다.std::cout << line << std::endl;은 파일의 내용을 한 줄씩 콘솔에 표시하는 데 사용됩니다.
이 프로그램을 실행하려면 ~/project 디렉토리로 이동하여 다음 명령을 실행하십시오.
g++ file_io.cpp -o file_io && ./file_io
이 프로그램은 example.txt 파일의 내용을 콘솔에 표시합니다.
요약
이 랩에서는 C++ 프로그래밍 언어를 사용하여 파일을 생성, 쓰고, 읽는 방법을 배웠습니다. ofstream 및 ifstream 클래스를 사용하여 각각 파일에 쓰고 파일에서 읽는 방법을 배웠습니다. 또한 open() 메서드를 사용하여 파일을 생성하고 열고, getline() 메서드를 사용하여 파일의 내용을 한 줄씩 읽는 방법도 배웠습니다.



