상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - C++에서 파일 입출력 처리 방법은?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
C++에서 파일 <a href='https://sangseek.com/sangseeks/입출력/ko'>입출력</a> 처리 방법은 매우 중요하며, 이를 통해 프로그램은 외부 파일과 데이터를 읽고 쓸 수 있습니다. C++에서는 파일 입출력을 위해 `<fstream>` 헤더 파일을 사용합니다. 이 헤더 파일은 파일 스트림을 처리하기 위한 여러 클래스를 제공합니다. 주요 클래스는 `ifstream`, `ofstream`, 그리고 `fstream`입니다. 1. 파일 스트림 클래스 - ifstream : 입력 파일 스트림으로, 파일에서 데이터를 읽기 위해 사용됩니다. - ofstream : 출력 파일 스트림으로, 파일에 데이터를 쓰기 위해 사용됩니다. - fstream : 입력과 출력을 모두 지원하는 파일 스트림으로, 파일에서 읽고 쓸 수 있습니다. 2. 파일 열기 파일을 열기 위해서는 해당 스트림 객체를 생성하고, `open()` 메서드를 사용하거나 생성자에서 파일 이름과 모드를 지정할 수 있습니다. 파일 모드는 다음과 같습니다: - `ios::in`: 입력 모드 (읽기 전용) - `ios::out`: 출력 모드 (쓰기 전용) - `ios::app`: 추가 모드 (파일 끝에 추가) - `ios::ate`: 파일 끝에서 시작 (파일을 열고 즉시 끝으로 이동) - `ios::trunc`: 파일을 열 때 기존 내용을 삭제 예를 들어, 파일을 열고 데이터를 쓰는 방법은 다음과 같습니다: ```cpp include <iostream> include <fstream> int main() { std::ofstream outFile("example.txt"); // 파일 열기 if (!outFile) { std::cerr << "파일을 열 수 없습니다!" << std::endl; return 1; } outFile << "Hello, World!" << std::endl; // 파일에 데이터 쓰기 outFile.close(); // 파일 닫기 return 0; } ``` 3. 파일 읽기 파일에서 데이터를 읽기 위해 `ifstream`을 사용합니다. 파일을 열고 데이터를 읽는 방법은 다음과 같습니다: ```cpp include <iostream> include <fstream> include <string> int main() { std::ifstream inFile("example.txt"); // 파일 열기 if (!inFile) { std::cerr << "파일을 열 수 없습니다!" << std::endl; return 1; } <a href='https://sangseek.com/sangseeks/std::string/ko'>std::string</a> line; <a href='https://sangseek.com/sangseeks/while/ko'>while</a> (std::getline(inFile, line)) { // 파일에서 한 줄씩 읽기 std::cout << line << std::endl; // 읽은 데이터 출력 } inFile.close(); // 파일 닫기 return 0; } ``` 4. 파일 오류 처리 파일 입출력 작업 중 오류가 발생할 수 있습니다. 이를 처리하기 위해 스트림 객체의 상태를 확인할 수 있습니다. 예를 들어, `fail()`, `eof()`, `bad()` 메서드를 사용하여 파일의 상태를 확인할 수 있습니다. ```cpp if (inFile.fail()) { std::cerr << "파일 읽기 중 오류 발생!" << std::endl; } ``` 5. 파일 스트림의 상태 확인 파일 스트림의 상태를 확인하는 방법은 다음과 같습니다: - `good()`: 스트림이 정상 상태인지 확인 - `eof()`: 파일의 끝에 도달했는지 확인 - `fail()`: 논리적 오류가 발생했는지 확인 - `bad()`: 심각한 오류가 발생했는지 확인 6. 파일 포인터 조작 파일 스트림에서 현재 위치를 조작할 수 있습니다. `seekg()`와 `seekp()` 메서드를 사용하여 입력 및 출력 위치를 변경할 수 있습니다. 예를 들어, 파일의 특정 위치로 이동하려면 다음과 같이 할 수 있습니다: ```cpp outFile.seekp(0, std::ios::end); // 파일 끝으로 이동 ``` 7. 파일 입출력 예제 아래는 파일에 데이터를 쓰고, 다시 읽어오는 간단한 예제입니다: ```cpp include <iostream> include <fstream> include <string> int main() { // 데이터 쓰기 std::ofstream outFile("data.txt"); for (int i = 0; i < 5; ++i) { outFile << "Line " << i + 1 << std::endl; } outFile.close(); // 데이터 읽기 std::ifstream inFile("data.txt"); std::string line; while (std::getline(inFile, line)) { std::cout << line << std::endl; } inFile.close(); return 0; } ``` 8. 결론 C++에서 파일 입출력은 매우 유용한 기능으로, 다양한 <a href='https://sangseek.com/sangseeks/데이터 처리/ko'>데이터 처리</a> 작업을 가능하게 합니다. 파일을 열고, 데이터를 읽고 쓰는 기본적인 방법을 이해하면, 더 복잡한 파일 처리 작업도 쉽게 수행할 수 있습니다. 파일 입출력의 오류 처리와 상태 확인 방법을 숙지하는 것도 중요합니다. 이를 통해 안정적이고 효율적인 프로그램을 작성할 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기