Hướng dẫn Thao tác với tập tin trong C++
lượt xem 11
download
Nhằm giúp các bạn đang học chuyên ngành Công nghệ thông tin có thêm tài liệu tham khảo trong quá trình học tập và nghiên cứu, mời các bạn cùng tham khảo nội dung tài liệu "Hướng dẫn Thao tác với tập tin trong C++" dưới đây để nắm bắt được cách phân loại, một số hàm thao tác tập tin với C++. Hy vọng đây là tài liệu tham khảo hữu ích cho các bạn.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Hướng dẫn Thao tác với tập tin trong C++
- Đại học Quốc Gia Thành phố Hồ Chí Minh Trường Đại học Khoa Học Tự Nhiên Khoa Công Nghệ Thông Tin Hướng dẫn THAO TÁC VỚI TẬP TIN TRONG C++ ________________________ ________________________ Tháng 9/2011
- Thao tác với tập tin 1 Phân loại Tập tin là hình thức lưu trữ phổ biến trên bộ nhớ phụ, gồm 2 loại: Tập tin văn bản: là tập tin chỉ lưu trữ thuần túy văn bản, trong đó các kí tự được biểu diễn bằng mã ASCII của nó, người dùng có thể đọc được. o Tính chất Dễ truy xuất và xử lý Độ bảo mật kém Tốc độ truy xuất kém Kích thước lớn o Ví dụ: Lưu số nguyên 12345 ở dạng binary (2 byte) và dạng chuỗi (5 byte) o Các dạng thường gặp Tập tin cấu hình: *.INI, *.CFG *.TXT, *.HTML, *.XML Tập tin nhị phân: là tập tin chứa dữ liệu mà có ít nhất một vài chuỗi bit không thể biểu diễn ở dạng văn bản trơn. Do đó tập tin này chỉ có máy đọc được, còn người không đọc được. o Tính chất Truy xuất và xử lý phức tạp Tốc độ truy xuất nhanh Tính bảo mật cao hơn o Các dạng thường gặp Các tập tin có cấu trúc tự định nghĩa *.DOC, *XLS, *.PDF, *.PPT… *.JPG, *.PCX, *.BMP, *.TIF… *.MP3, *.WAV, *.AVI… 2 Một số hàm thao tác tập tin với C++ Nhiều bộ thư viện cung cấp một tập các hàm thao tác với tập tin với C++. Ở đây giới thiệu 2 cách phổ dụng: Tập hàm trong cstdio (stdio.h) Tập hàm trong namespace std 2.1 Sử dụng cstdio (stdio.h) 2.1.1 Một số hàm xử lý chung Tên hàm Chức năng fopen Mở tập tin fclose Đóng tập tin fcloseall Đóng tất cả tập tin fflush Làm sạch vùng đệm của một tập tin đang mở fflushall Làm sạch vùng đệm của tất cả remove/unlink Xóa tập tin feof Kiểm tra xem đã đọc đến cuối tập tin Khoa CNTT | ĐH KHTN TP HCM Trang 2
- Thao tác với tập tin 2.1.2 Một số hàm xử lý cho tập tin văn bản Tên hàm Chức năng fprintf Ghi giá trị dạng text lên tập tin fscanf Đọc giá trị dạng text từ tập tin putc/fputc Ghi lên tập tin một kí tự (sử dụng tập tin văn bản hoặc nhị phân có khác biệt ) getc/fgetc Đọc từ tập tin một kí tự (sử dụng tập tin văn bản hoặc nhị phân có khác biệt) fputs Ghi một chuỗi vào tập tin fgets Đọc một chuỗi từ tập tin 2.1.3 Một số hàm xử lý cho tập tin nhị phân Tên hàm Chức năng putw Ghi một số nguyên lên tập tin getw Đọc một số nguyên từ tập tin fwrite Ghi các mẫu tin (có cấu trúc định trước) lên tập tin fread Đọc các mẫu tin (có cấu trúc định trước) từ tập tin fseek Di chuyển con trỏ đến vị trí mong muốn ftell Cho biết vị trí hiện tại của con trỏ Chi tiết của mỗi hàm có thể xem từ MSDN hoặc link sau: http://www.cplusplus.com/reference/clibrary/cstdio/ 2.1.4 Ví dụ: Ghi tập tin văn bản /* fprintf example */ #include int main () { FILE * pFile; int n; char name [100]; pFile = fopen ("myfile.txt","w"); for (n=0 ; n
- Thao tác với tập tin Đọc tập tin văn bản /* fscanf example */ #include int main () { char str [80]; float f; FILE * pFile; pFile = fopen ("myfile.txt","w+"); fprintf (pFile, "%f %s", 3.1416, "PI"); rewind (pFile); fscanf (pFile, "%f", &f); fscanf (pFile, "%s", str); fclose (pFile); printf ("I have read: %f and %s \n",f,str); return 0; } Ghi tập tin nhị phân #include int main () { FILE * pFile; char buffer[] = { 'x' , 'y' , 'z' }; pFile = fopen ( "myfile.bin" , "wb" ); fwrite (buffer , 1 , sizeof(buffer) , pFile ); fclose (pFile); return 0; } Đọc tập tin nhị phân #include #include int main () { FILE * pFile; long lSize; char buffer[255]; Khoa CNTT | ĐH KHTN TP HCM Trang 4
- Thao tác với tập tin pFile = fopen ( "myfile.bin" , "rb" ); if (pFile==NULL) {fputs ("File error",stderr); return;} // copy the file into the buffer: result = fread (buffer,1,255,pFile); if (result != lSize) {fputs ("Reading error",stderr); return;} fclose (pFile); return 0; } 2.2 Sử dụng namespace std ofstream: class gồm các phương thức để ghi tập tin ifstream: class gồm các phương thức để đọc tập tin fstream: class gôm các phương thức cho cả thao tác đọc và ghi tập tin Ở đây chỉ giới thiệu fstream. 2.2.1 Một số hàm xử lý chung Tên phương thức Chức năng open Mở tập tin close Đóng tập tin is_open Kiểm tra xem tập tin có đang mở hay không. flush Làm sạch vùng đệm của tập tin đang mở good Kiểm tra trạng thái của tập tin có tốt để đọc/ghi không eof Kiểm tra xem đã đọc đến cuối tập tin chưa 2.2.2 Một số hàm xử lý cho tập tin văn bản Tên phương thức Chức năng operator >> Đọc dữ liệu từ tập tin operator
- Thao tác với tập tin Chi tiết của mỗi hàm có thể tham khảo trên MSDN hoặc link sau: http://www.cplusplus.com/reference/iostream/fstream/ 2.2.4 Ví dụ: Ghi tập tin văn bản #include #include using namespace std; int main () { ofstream myfile; myfile.open ("example.txt"); myfile > line; cout
- Thao tác với tập tin using namespace std; int main () { ifstream file ("example.bin", ios::out|ios::binary|ios::ate); char buffer[] = { 'x' , 'y' , 'z' }; if(file.is_open()) file.write(buffer , sizeof(buffer) ); file.close(); return 0; } Đọc tập tin nhị phân // Đọc toàn bộ nội dung của tập tin #include #include using namespace std; ifstream::pos_type size; char * memblock; int main () { ifstream file ("example.bin", ios::in|ios::binary|ios::ate); if (file.is_open()) { size = file.tellg(); memblock = new char [size]; file.seekg (0, ios::beg); file.read (memblock, size); file.close(); cout
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Giáo trình Hướng dẫn sử dụng Word 2010 toàn tập bằng hình ảnh
156 p | 1284 | 130
-
Hướng dẫn sử dụng excel 2010 part 24
6 p | 259 | 102
-
Bài tập và thực hành số 5 THAO TÁC VỚI TỆP VÀ THƯ MỤC
11 p | 247 | 34
-
Bài 3: Hướng dẫn sử dụng Windows explorer - Phạm Quốc Tú
5 p | 318 | 31
-
§14,15:KIỂU DỮ LIỆU TỆP VÀ THAO TÁC VỚI TỆP
4 p | 174 | 20
-
Giáo án số 3.CÁC THAO TÁC VỚI CƠ SỞ DỮ LIỆU QUAN HỆ
17 p | 146 | 20
-
Chương V TỆP VÀ THAO TÁC VỚI TỆP
9 p | 204 | 17
-
Hướng dẫn môn thực tập mạng - tuần 1
15 p | 99 | 15
-
Quá trình hình thành giáo trình hướng dẫn thao tác với các đối tượng trong panel tool p2
6 p | 68 | 5
-
Quá trình hình thành giáo trình hướng dẫn thao tác với các đối tượng trong panel tool p7
5 p | 86 | 4
-
Tư liệu hình thành giáo trình hướng dẫn thao tác với các đối tượng trong chanel path p7
5 p | 56 | 4
-
Quá trình hình thành giáo trình hướng dẫn thao tác với các đối tượng trong panel tool p6
6 p | 61 | 3
-
Tư liệu hình thành giáo trình hướng dẫn thao tác với các đối tượng trong chanel path p5
6 p | 65 | 3
-
Quá trình hình thành giáo trình hướng dẫn thao tác với các đối tượng trong panel tool p5
6 p | 61 | 3
-
Quá trình hình thành giáo trình hướng dẫn thao tác với các đối tượng trong panel tool p9
5 p | 68 | 3
-
Quá trình hình thành giáo trình hướng dẫn thao tác với các đối tượng trong panel tool p8
5 p | 62 | 3
-
Tư liệu hình thành giáo trình hướng dẫn thao tác với các đối tượng trong chanel path p6
6 p | 59 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn