Table of contents
Open Table of contents
1. Làm việc với Tệp (Files)
Thư viện fstream cung cấp các lớp để làm việc với tệp:
ofstream: Tạo và ghi vào tệp.ifstream: Đọc từ tệp.fstream: Kết hợp cả hai.
Ghi vào tệp:
#include <iostream>
#include <fstream>
using namespace std;
int main() {
// Tạo và mở tệp
ofstream MyFile("test.txt");
// Ghi nội dung
MyFile << "Lớp học C++ của TuanNDA.dev thật tuyệt!";
// Đóng tệp
MyFile.close();
}
Đọc từ tệp:
Chúng ta thường dùng vòng lặp while kết hợp hàm getline() để đọc từng dòng.
string myText;
ifstream MyReadFile("test.txt");
while (getline (MyReadFile, myText)) {
cout << myText; // In từng dòng ra màn hình
}
MyReadFile.close();
2. Xử lý Ngoại lệ (Exceptions)
Ngoại lệ là những lỗi xảy ra trong quá trình chạy chương trình (như nhập sai dữ liệu, chia cho 0, tệp không tồn tại). Để chương trình không bị tắt đột ngột, chúng ta dùng bộ ba: try, throw, catch.
try: Chứa khối mã cần kiểm tra lỗi.throw: “Ném” ra một tín hiệu lỗi nếu có vấn đề.catch: “Bắt” lấy lỗi và xử lý nó.
Ví dụ kiểm tra tuổi:
try {
int age = 15;
if (age >= 18) {
cout << "Quyền truy cập được chấp nhận.";
} else {
throw (505); // Ném ra mã lỗi 505
}
}
catch (int myNum) {
cout << "Truy cập bị từ chối! \n";
cout << "Mã lỗi: " << myNum;
}
Catch mọi loại lỗi:
Nếu bạn không biết chắc kiểu dữ liệu của lỗi sẽ là gì, hãy dùng dấu ba chấm ....
catch (...) {
cout << "Đã có lỗi xảy ra nhưng không rõ nguyên nhân.";
}
Lời kết Module 9
Xử lý tệp và ngoại lệ giúp chương trình của bạn “lớn” hơn, chuyên nghiệp hơn và chịu lỗi tốt hơn. Đây là những kỹ năng không thể thiếu khi làm dự án thực tế.
Chúng ta chỉ còn một Module cuối cùng! Trong Module 10, chúng ta sẽ tổng hợp lại tất cả kiến thức qua một Dự án thực tế (Project) và hướng dẫn các bước tiếp theo trên con đường lập trình C++.
Hẹn gặp lại các bạn!