Bài giảng "Lập trình nâng cao: Thao tác với tệp" cung cấp cho người học các kiến thức: Nhập liệu từ tệp văn bản, xử lý lỗi với tệp, kỹ thuật giới thiệu các thư viện, kỹ thuật xử lý lỗi đơn giản. . | File operations 5 - Thao tác với tệp Nội dung Nhập liệu từ tệp văn bản Xử lý lỗi với tệp Kỹ thuật Giới thiệu các thư viện , , Xử lý lỗi đơn giản Nhập liệu từ tệp (file) Hangman hiện thời sử dụng danh sách từ cố định Không cho phép đổi từ vựng (ví dụ: chọn lĩnh vực) Mã nguồn chương trình chứa danh sách từ Phải dịch lại chương trình nếu thay đổi từ Giải pháp: Tách mã nguồn và dữ liệu Dữ liệu lưu ở tệp Chương trình có mã lệnh đọc tệp, đưa dữ liệu vào bộ nhớ (biến) Top-down: Sửa main để dùng file const int MAX_BAD_GUESSES = 7; const char DATA_FILE[] = "data/"; . int main () { srand(time(0)); string word = chooseWord(DATA_FILE); if (() Cách nhanh nhất: làm theo bài hướng dẫn (tutorials) Ví dụ: Tạo file, ghi vào file với ofstream // thư viện fstream #include using namespace std; int main () { ofstream myfile; // khai báo biến kiểu ofstream (""); //Mở file myfile #include using namespace std; int main () { ofstream . | File operations 5 - Thao tác với tệp Nội dung Nhập liệu từ tệp văn bản Xử lý lỗi với tệp Kỹ thuật Giới thiệu các thư viện , , Xử lý lỗi đơn giản Nhập liệu từ tệp (file) Hangman hiện thời sử dụng danh sách từ cố định Không cho phép đổi từ vựng (ví dụ: chọn lĩnh vực) Mã nguồn chương trình chứa danh sách từ Phải dịch lại chương trình nếu thay đổi từ Giải pháp: Tách mã nguồn và dữ liệu Dữ liệu lưu ở tệp Chương trình có mã lệnh đọc tệp, đưa dữ liệu vào bộ nhớ (biến) Top-down: Sửa main để dùng file const int MAX_BAD_GUESSES = 7; const char DATA_FILE[] = "data/"; . int main () { srand(time(0)); string word = chooseWord(DATA_FILE); if (() < 1) { cout << "Error reading vocabulary file " << DATA_FILE; return -1; } string guessedWord = string((), '-'); . - Yêu cầu chooseWord chọn từ file - Báo lỗi và dừng game nếu file có lỗi Một lần nữa, sửa chương trình hay viết chương trình, .