Bài giảng Kỹ thuật lập trình nâng cao: Chương 6 - ThS. Phạm Đào Minh Vũ
Số trang: 15
Loại file: pdf
Dung lượng: 338.08 KB
Lượt xem: 15
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Chương 6 - Lưu trữ dữ liệu trên tập tin. Chương này gồm có những nội dung: Giới thiệu về tập tin, thao tác với tập tin, lớp fstream - , các thao tác trên file. mời các bạn cùng tham khảo để biết thêm các nội dung chi tiết.
Nội dung trích xuất từ tài liệu:
Bài giảng Kỹ thuật lập trình nâng cao: Chương 6 - ThS. Phạm Đào Minh Vũ CHƯƠNG 6Lưu trữ dữ liệu trên tập tin1. Giới Thiệu Tập tin văn bản: tập tin dùng để ghi các ký tự lên đĩa theo các dòng. Tập tin nhị phân: tập tin dùng để ghi các cấu trúc dạng nhị phân (được mã hoá).22. Thao tác với tập tin Bước 1: Mở tập tin để đọc/ ghi. Bước 2: Các xử lý trên tập tin. Bước 3: Đóng tập tin.33. Lớp fstream - • fstream dataFile : khai báo tên đối tượng kiểu fstream• dataFile.open(“tên file, mode); • Tên file : chuỗi chứ tên file • Mode : Có 5 chế độ cơ bản sau: • ios::out :chế độ mở file để xuất ra (đọc file) • ios::in : chế độ mở file để Ghi • ios::app : Chế độ gắn thêm vào file (nếu file chưa được tạo thì nó sẽ tạo ra 1 file mới) • ios::binary : Chế độ nhị phân • ios::trunc : Nếu file đã được tạo thì nội dung của nó sẽ bị xóa đi.• Đóng file : dataFile.close()44. Các thao tác trên file• Mở file : • dataFile.open(“info.txt, ios::out);• Ghi file : •dataFile.open(“info.txt, ios::in);• Mở ghi và chèn vào cuối file : • dataFile.open(“info.txt, ios::app);• Mở để đọc và ghi : • dataFile.open(“info.txt, ios::in | ios::out); • Nếu file chưa tồn tại thì sẽ tự động tạo file mới54.1 mở file để ghi#include #include using namespace std;void main(){ fstream dataFile; cout 4.2 Ghi thêm vào file//ghi thêm vào file , nếu file đã tồn tại thì tiến hành append tiếp tụcvàovoid writeAppendFile(){ fstream dataFile; cout 4.3 Xuất file có định dạng#include // thư viện cho việc sử dụng hàm setprecisionvoid writeFormatFile(){ fstream dataFile; double num = 17.816392; dataFile.open(numfile.txt, ios::out); dataFile 4.4 Đọc nội dung filevoid main(){const int SIZE = 81; // Size của mãng inputchar input[SIZE]; // Mãng lưu inputfstream nameFile;nameFile.open(murphy.txt, ios::in); //Mở file ở chế độ đọcif (!nameFile) { cout > input) //Đọc nội dung file. cout 4.4 Đọc nội dung file (tt) Khoảng trắng (Whitespace) là 1 kí tự mà nó là 1 phần của dữ liệu, vấn đề sẽ nảy sinh khi ta đoc vào bằng toán tử >>. Bởi vì toán tử >> nó xem khoảng trắng như 1 kí tự kết thúc (delimiter), vì thế nó sẽ không đọc chúng vào Để khắc phục, ta sử dụng hàm getline. Hàm getline sẽ đọc toàn bộ nội dung của 1 dòng trong file và giữ nguyên định dạng104.4 Đọc nội dung file void main() { const int SIZE = 81; // Size của mãng input char input[SIZE]; // Mãng lưu input fstream nameFile; nameFile.open(murphy.txt, ios::in); //Mở file ở chế độ đọc nameFile.getline(input, SIZE); //Dùng kí tự mặc định như kí tự kết thúc. while (!nameFile.eof()) //Nếu chưa kết thúc file thì tiếp tục đọc { cout 4.5 Truyền file vào hàm Chúng ta khi làm việc với những chương trình thực sự thì đôi khi chúng ta cần phải truyền 1 tên file vào hàm nào đó để tiện cho việc quản lý, nhưng khi truyền phải lưu ý là luôn luôn truyền bằng tham chiếu Ví dụ : bool OpenFile(fstream &file, char *name)12Ví dụ: kiểm tra file có tồn tại ? //Hàm mở file, kiểm tra file có tồn tại chưa ? bool OpenFile(fstream &file, char *name) { file.open(name, ios::in); if(file.fail()) return false; else return true; }13Ví dụ: hiển thị nội dung toàn bộ file//truyền file vào hàm, hiển thị nội dung filevoid ShowContents(fstream &file){ char *line = new char[100];//kích thước 1 dòng tối đa là 81 while(file.getline(line,100)) { cout Hàm main()void main(){ fstream dataFile; if(!OpenFile(dataFile, demofile.txt)) { cout
Nội dung trích xuất từ tài liệu:
Bài giảng Kỹ thuật lập trình nâng cao: Chương 6 - ThS. Phạm Đào Minh Vũ CHƯƠNG 6Lưu trữ dữ liệu trên tập tin1. Giới Thiệu Tập tin văn bản: tập tin dùng để ghi các ký tự lên đĩa theo các dòng. Tập tin nhị phân: tập tin dùng để ghi các cấu trúc dạng nhị phân (được mã hoá).22. Thao tác với tập tin Bước 1: Mở tập tin để đọc/ ghi. Bước 2: Các xử lý trên tập tin. Bước 3: Đóng tập tin.33. Lớp fstream - • fstream dataFile : khai báo tên đối tượng kiểu fstream• dataFile.open(“tên file, mode); • Tên file : chuỗi chứ tên file • Mode : Có 5 chế độ cơ bản sau: • ios::out :chế độ mở file để xuất ra (đọc file) • ios::in : chế độ mở file để Ghi • ios::app : Chế độ gắn thêm vào file (nếu file chưa được tạo thì nó sẽ tạo ra 1 file mới) • ios::binary : Chế độ nhị phân • ios::trunc : Nếu file đã được tạo thì nội dung của nó sẽ bị xóa đi.• Đóng file : dataFile.close()44. Các thao tác trên file• Mở file : • dataFile.open(“info.txt, ios::out);• Ghi file : •dataFile.open(“info.txt, ios::in);• Mở ghi và chèn vào cuối file : • dataFile.open(“info.txt, ios::app);• Mở để đọc và ghi : • dataFile.open(“info.txt, ios::in | ios::out); • Nếu file chưa tồn tại thì sẽ tự động tạo file mới54.1 mở file để ghi#include #include using namespace std;void main(){ fstream dataFile; cout 4.2 Ghi thêm vào file//ghi thêm vào file , nếu file đã tồn tại thì tiến hành append tiếp tụcvàovoid writeAppendFile(){ fstream dataFile; cout 4.3 Xuất file có định dạng#include // thư viện cho việc sử dụng hàm setprecisionvoid writeFormatFile(){ fstream dataFile; double num = 17.816392; dataFile.open(numfile.txt, ios::out); dataFile 4.4 Đọc nội dung filevoid main(){const int SIZE = 81; // Size của mãng inputchar input[SIZE]; // Mãng lưu inputfstream nameFile;nameFile.open(murphy.txt, ios::in); //Mở file ở chế độ đọcif (!nameFile) { cout > input) //Đọc nội dung file. cout 4.4 Đọc nội dung file (tt) Khoảng trắng (Whitespace) là 1 kí tự mà nó là 1 phần của dữ liệu, vấn đề sẽ nảy sinh khi ta đoc vào bằng toán tử >>. Bởi vì toán tử >> nó xem khoảng trắng như 1 kí tự kết thúc (delimiter), vì thế nó sẽ không đọc chúng vào Để khắc phục, ta sử dụng hàm getline. Hàm getline sẽ đọc toàn bộ nội dung của 1 dòng trong file và giữ nguyên định dạng104.4 Đọc nội dung file void main() { const int SIZE = 81; // Size của mãng input char input[SIZE]; // Mãng lưu input fstream nameFile; nameFile.open(murphy.txt, ios::in); //Mở file ở chế độ đọc nameFile.getline(input, SIZE); //Dùng kí tự mặc định như kí tự kết thúc. while (!nameFile.eof()) //Nếu chưa kết thúc file thì tiếp tục đọc { cout 4.5 Truyền file vào hàm Chúng ta khi làm việc với những chương trình thực sự thì đôi khi chúng ta cần phải truyền 1 tên file vào hàm nào đó để tiện cho việc quản lý, nhưng khi truyền phải lưu ý là luôn luôn truyền bằng tham chiếu Ví dụ : bool OpenFile(fstream &file, char *name)12Ví dụ: kiểm tra file có tồn tại ? //Hàm mở file, kiểm tra file có tồn tại chưa ? bool OpenFile(fstream &file, char *name) { file.open(name, ios::in); if(file.fail()) return false; else return true; }13Ví dụ: hiển thị nội dung toàn bộ file//truyền file vào hàm, hiển thị nội dung filevoid ShowContents(fstream &file){ char *line = new char[100];//kích thước 1 dòng tối đa là 81 while(file.getline(line,100)) { cout Hàm main()void main(){ fstream dataFile; if(!OpenFile(dataFile, demofile.txt)) { cout
Tìm kiếm theo từ khóa liên quan:
Kỹ thuật lập trình nâng cao Kỹ thuật lập trình Bài giảng Kỹ thuật lập trình nâng cao Lưu trữ dữ liệu trên tập tin Thao tác với tập tin Tập tin văn bảnGợi ý tài liệu liên quan:
-
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 247 0 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 188 0 0 -
Giới thiệu môn học Ngôn ngữ lập trình C++
5 trang 181 0 0 -
Luận văn: Nghiên cứu kỹ thuật giấu tin trong ảnh Gif
33 trang 147 0 0 -
Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
30 trang 147 0 0 -
Báo cáo thực tập Công nghệ thông tin: Lập trình game trên Unity
27 trang 115 0 0 -
Giáo trình về phân tích thiết kế hệ thống thông tin
113 trang 113 0 0 -
LUẬN VĂN: Tìm hiểu kỹ thuật tạo bóng cứng trong đồ họa 3D
41 trang 104 0 0 -
Bài giảng Kỹ thuật lập trình - Chương 10: Tổng kết môn học (Trường Đại học Bách khoa Hà Nội)
67 trang 103 0 0 -
Giáo trình Nhập môn lập trình VB6: Phần 2
184 trang 84 0 0