- std::string
더보기
- C++ std::string의 필요성
C언어에서는 문자 배열의 크기를 런타임 중에 늘릴 수 없었습니다.
이에 대한 대안으로 C++에서는 std::string 클래스가 제공됩니다.
std::string은 필요에 따라 길이가 변할 수 있습니다.
게다가 문자열을 수정할 수 있는 여러 API도 제공해줍니다
- File I/O
더보기
- ifstream: 파일 입력 스트림
// In C++
ifstream InputFile;
InputFile.open("HelloFile.txt"); // 읽기 전용으로 파일을 오픈.
// In C.
FILE* InputFile;
InputFile = fopen("HelloFile.txt", "r"); - ofstream: 파일 출력 스트림
// In C++
ofstream OutputFile;
OutputFile.open("HelloFile.txt"); // 쓰기 전용으로 파일을 오픈.(파일이 없으면 만들어 줍니다)
// In C.
FILE* OutputFile;
OutputFile = fopen("HelloFile.txt", "w"); - fstream: 파일 입력 및 출력 스트림
// In C++
fstream FileStream;
FileStream.open("HelloFile.txt"); // 읽기와 쓰기 범용으로 파일을 오픈.
// In C.
FILE* FilePointer;
FilePointer = fopen("HelloFile.txt", "r+"); // w+와 다름. w+는 기존 파일의 내용을 삭제합니다. - 파일 스트림에 읽고 쓰는 방법
텍스트 모드에서는 << 연산자와 >> 연산자로 읽고 쓰기가 가능하고,
바이너리 모드에서는 read() 함수와 write() 함수로 읽고 쓰기가 가능합니다. - open()
파일을 열 때 사용하는 함수입니다. - 열기 모드
파일을 열 때 어떤 모드로 열지를 지정할 수 있습니다.
- std::ios_base::in
파일을 읽기 모드로 엽니다.
- std::ios_base::out
파일을 쓰기 모드로 엽니다.
- std::ios_base::app
파일 끝에 내용을 덧붙이는 모드로 엽니다.
- std::ios_base::binary
파일을 열 때 바이너리 모드로 엽니다.
- std::ios_base::trunc
파일이 열릴 때 기존 내용을 다 지웁니다.(Truncation)
InputFile.open("HelloFile.txt", ios_base::in | ios_base::binary);
// 위와 같이 조합할 수 있습니다. - is_open(): 파일이 열려 있는지 확인 할 수 있습니다.
fstream FileStream;
FileStream.open("HelloFile.txt");
if (FileStream.is_open() == true)
{
...
} - close()
파일을 닫을 때 사용하는 함수입니다.
// In C++
ifstream InputFile;
InputFile.close();
// 사실 InputFile이 선언된 스코프를 벗어날 때 자동으로 close() 되긴 합니다.
// In C
FILE *FilePointer;
fclose(FilePointer);
'복습용 > C++' 카테고리의 다른 글
| [Unreal Engine 8기] C++ Casting, inline 키워드, static 키워드, 예외처리 (0) | 2026.03.24 |
|---|---|
| [Unreal Engine 8기] C++ 상속과 다형성, 추상 클래스 (1) | 2026.03.23 |
| [Unreal Engine 8기] C++ 복사 생성자와 오버로딩 (0) | 2026.03.20 |
| [Unreal Engine 8기] C++ 생성자와 소멸자 (0) | 2026.03.19 |
| [Unreal Engine 8기] C++ Console IO (0) | 2026.03.18 |