C++에서는 대부분의 프로그램이 디스크에 저장된 데이터 파일을 읽거나 프로그램 내의 데이터를 파일로 저장하는 등 외부 파일과의 입출력을 수행해야 하기 때문에 텍스트 파일 처리가 매우 중요합니다. 따라서 이 글에서는 C++에서 입력과 출력을 위해 텍스트 파일을 사용하는 방법을 소개하겠습니다.
1. 텍스트 파일 열기 및 닫기
C++에서는 파일을 읽고 쓰려면 파일 스트림 클래스 개체(fstream)를 사용해야 합니다. 파일을 사용하기 전에 파일 스트림 객체를 생성하고 이를 파일과 연결해야 합니다. 파일 스트림 객체의 생성자는 파일 이름과 열기 방법을 매개변수로 받아들일 수 있습니다. C++에는 세 가지 일반적인 파일 열기 방법이 있습니다.
다음은 파일을 여는 방법을 보여주는 간단한 예입니다.
#include <fstream> using namespace std; int main() { // 创建文件流对象并关联文件 fstream file("example.txt", ios::in | ios::out); // 判断文件是否打开成功 if (!file) { cout << "无法打开文件" << endl; return -1; } // 文件操作 // 关闭文件 file.close(); return 0; }
위 코드에서 file이라는 파일 스트림 객체는 fstream 클래스의 생성자를 통해 생성되고 example.txt 파일과 연결됩니다. 파일이 열릴 때 읽기 및 쓰기가 모두 가능한 메소드가 사용됩니다. 즉, 파일을 읽어야 할 때는 ios::in 옵션을 사용해야 하고, 파일을 써야 할 때는 내용을 추가해야 할 때 ios::out 옵션을 사용해야 합니다. 파일이 끝나면 ios ::app 옵션을 사용해야 합니다. 편의상 여기서는 읽기 가능한 방법과 쓰기 가능한 방법을 모두 사용합니다.
파일 작업이 완료되면 파일을 닫아야 합니다. 이는 파일 스트림 객체의 close() 함수를 통해 달성할 수 있습니다.
2. 파일에서 데이터 읽기
텍스트 파일을 연 후 파일 입력 스트림 개체(ifstream)를 사용하여 텍스트 파일에서 데이터를 읽을 수 있습니다. C++는 다음을 포함하여 파일에서 데이터를 읽는 다양한 방법을 제공합니다.
연산자: 파일에서 단어나 값을 읽습니다.
다음은 파일에서 데이터를 읽는 방법을 보여주는 간단한 예입니다.
#include <fstream> #include <iostream> using namespace std; int main() { // 创建文件流对象并关联文件 ifstream file("example.txt"); // 判断文件是否打开成功 if (!file) { cout << "无法打开文件" << endl; return -1; } // 读取文件内容 string str; while (getline(file, str)) { cout << str << endl; } // 关闭文件 file.close(); return 0; }
위 코드에서는 file이라는 입력 파일 스트림 개체를 만들고 이를 example.txt 파일에 연결합니다. while 루프에서는 getline() 함수를 호출하여 파일 내용을 한 줄씩 읽고 데이터의 각 줄은 문자열 변수 str에 저장됩니다. 마지막으로 읽은 내용은 cout을 통해 출력됩니다.
3. 파일에 데이터 쓰기
C++에서는 파일 출력 스트림 개체(ofstream)를 사용하여 텍스트 파일에 데이터를 쓸 수 있습니다. 일반적으로 사용되는 쓰기 기능은 다음과 같습니다.
다음은 파일에 데이터를 쓰는 방법을 보여주는 간단한 예입니다.
#include <fstream> #include <iostream> using namespace std; int main() { // 创建文件流对象并关联文件 ofstream file("example.txt"); // 判断文件是否打开成功 if (!file) { cout << "无法打开文件" << endl; return -1; } // 向文件中写入数据 for (int i = 1; i <= 10; i++) { file << "This is line " << i << endl; } // 关闭文件 file.close(); return 0; }
위 코드에서는 file이라는 출력 파일 스트림 개체를 만들고 이를 example.txt 파일에 연결합니다. for 루프에서는 << 연산자를 통해 데이터가 파일에 기록됩니다. 각 루프는 한 줄의 텍스트 데이터를 쓰고 마지막으로 close() 함수를 통해 파일을 닫습니다.
4. 파일 포인터
파일 작업을 수행할 때 현재 파일 읽기 및 쓰기 위치를 나타내기 위해 포인터를 사용해야 합니다. 파일 위치 표시자라고도 불리는 파일 포인터는 파일 시작 부분부터 현재 위치까지의 바이트 수를 기록하는 각 파일에서 유지 관리하는 내부 변수입니다.
C++에서는 파일 포인터를 작동하기 위해 다음 함수를 제공합니다.
다음은 파일 포인터를 조작하는 방법을 보여주는 간단한 예입니다.
#include <fstream> #include <iostream> using namespace std; int main() { // 创建文件流对象并关联文件 fstream file("example.txt", ios::in | ios::out); // 判断文件是否打开成功 if (!file) { cout << "无法打开文件" << endl; return -1; } // 获取、设置文件指针位置 file.seekp(6); // 将文件写位置设置为6 file.put('X'); // 在文件位置6处写入字符'X' file.seekg(0); // 将文件读位置设置为0 char ch = file.get(); // 从文件位置0读取一个字符 cout << "第一个字符是:" << ch << endl; // 关闭文件 file.close(); return 0; }
위 코드에서는 file이라는 파일 스트림 개체를 만들고 이를 example.txt 파일에 연결합니다. 파일 포인터를 조작하기 전에 파일을 열어야 합니다.
예제에서는 seekp() 함수를 사용하여 파일 포인터 위치를 6으로 설정한 다음 put() 함수를 사용하여 파일 위치 6에 문자 'X'를 썼습니다. 다음으로 seekg() 함수를 사용하여 파일 포인터 위치를 0으로 설정하고, get() 함수를 사용하여 파일 위치 0에서 문자를 읽어서 출력합니다.
5. 요약
위는 C++를 이용한 텍스트 파일 입출력의 기본 작업입니다. 파일 작업을 수행할 때 파일이 열리고 닫히는 순서와 파일 포인터 위치의 작업에 주의해야 합니다. 텍스트 파일 읽기 및 쓰기 작업, 포인터 위치 지정 및 기타 작업은 매우 간단하지만 일반적으로 사용되는 기능과 작업을 염두에 두어야 합니다.
위 내용은 C++에서 입력 및 출력에 텍스트 파일 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!