Thao Tác File Với Thư Viện Fstream - Lập Trình 321
Có thể bạn quan tâm
Tổng Hợp Kiến Thức Lập Trình
SLIDE1
Tuesday, June 2, 2015
Home » giao trinh oop , lap trinh c » thao tác file với thư viện fstreamthao tác file với thư viện fstream
Để sử dụng được thư viện fstream, ta phải include thư viện fstream và using namespace std; #include <fstream> using namespace std; Điều đầu tiên, ta tạo ra một đối tượng fstream. Ta sẽ thao tác với file thông qua đối tượng đó. fstream f; Để mở một file, ta dùng phương thức open sau: f.open(filePath, mod); Trong đó: filePath có kiểu dữ liệu là const char*, là đường dẫn đến file cần mở. mod là chế độ mở file. Chúng ta có một số chế độ như sau: ios::inMở file để đọc. ios::outMở file có sẵn để ghi ios::binaryMở file ở chế độ nhị phân. ios:ateMở file và đặt con trỏ file vào cuối file. ios::appMở file và ghi dữ liệu vào cuối file. Nếu file không tồn tại thì tạo file mới. ios::truncChế độ mở file, xóa bỏ hoàn toàn nội dung trong file được mở. Đọc và ghi dữ liệu với định dạng file nhị phân Khi mở file mà không ghi rõ chế độ mở file, trình biên dịch sẽ chuyển về chế độ mở file text. Vì vậy, khi muốn mở ở chế độ binary, ta cần phải ghi rõ ràng mod là ios::binary. Việc mở file dưới chế độ binary có nghĩa là chúng ta sẽ đọc thông tin theo dạng binary file. Chúng ta sẽ sử dụng hàm write và read để đọc và ghi file dưới dạng binary. f.read(address, size); f.write(address, size); adress: Kiểu dữ liệu char*, là địa chỉ vùng nhớ của dữ liệu được lưu vào file. size: Kiểu dữ liệu int, là số byte vùng nhớ #include <fstream> using namespace std; int main() { char data[100]; fstream f; f.open("text.txt", ios::in | ios::binary); if (!f) return 1; f.read(data, sizeof(data)); f.close(); return 0; } Đọc và ghi dữ liệu với định dạng file text Sau khi mở tệp tin ta sẽ tiến hành đọc và ghi file bằng operator >> và <<. Đọc file f >> data; f: Kiểu dữ liệu fstream, là tên biến file. data: là tên biến lưu trữ dữ liệu. Ghi file f << data; f: là tên biến file. data: tên biến dữ liệu chứa data cần ghi vào file. Đóng file Sau khi thao tác với file, ta sẽ tiến hành đóng file bằng lệnh: f.close() IV.Cách truyền 1 file name 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.. .Dùng hàm thành viên để đọc và ghi file : 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. Chúng ta sẽ dùng hàm getline() để xử lý những trường hợp như vậy. Hoặc nếu không thích dùng kí tự mặc định '\n' của hàm getline() thì ta có thể dùng 1 kí tự bất kì khác như sau ví dụ :// Bây h dùng kí tự $ là kí tự kết thúc. dataFile.getline(input, SIZE, '$'); I.Hàm get() : Hàm get()là 1 hàm rất hữu dụng trong việc thao tác với file. Ví dụ : inFile.get(ch); Trong ví dụ trên thì ch là 1 biến kiểu char. Một kí tự sẽ được đọc vào từ file và lưu vào ch. Chương trình sau sẽ là 1 demo cho cách dùng get. Chương trình trên sẽ xuất ra nội dung của bất kì file như thế nào. Hàm get() sẽ đọc luôn những kí tự trắng vì thế nội dung file sẽ y chang như nó xuất hiện trong file. II.Hàm put() Hàm get sẽ ghi 1 kí tự vào file. Ví dụ : outFile.put(ch); Trong ví dụ trên thì biến ch là kiểu char. III. Các hàm định vị cho file tuần tự • con trỏ vị trí ghi số thứ tự của byte tiếp theo để đọc/ghi • các hàm đặt lại vị trí của con trỏ: – seekg (đặt vị trí đọc cho lớp istream) – seekp (đặt vị trí ghi cho ostream) – seekg và seekp lấycác đối số là offset và mốc (offset: số byte tương đối kể từ mốc) •Mốc(ios::beg mặc định) – ios::beg - đầu file – ios::cur -vị trí hiện tại – ios::end -cuối file • các hàm lấy vị trí hiện tại của con trỏ: – tellg và tellp •Ví dụ PHP Code: fileObject.seekg(0) đến đầu file (vị trí 0), mặc định đối số thứ hai là ios::beg fileObject.seekg(n) đến byte thứ n kể từ đầu file fileObject.seekg(n, ios::cur) tiến n byte fileObject.seekg(y, ios::end) lùi y byte kể từ cuối file fileObject.seekg(0, ios::cur) đến cuối file seekp tương tự location = fileObject.tellg() lấy vị trí đọc hiện tại của fileObject ← Newer Post Older Post → HomeFind us on facebook
Trần Khánh Toànemail: Trankhanhtoan321@gmail.comhttp://www.laptrinh321.net FaceBook Google Plus- [C/C++] nhập vào họ và tên, in ra tên viết chương trình [C/C++] nhập vào họ và tên , sau đó xử lý chuỗi và in ra tên của người đó. #include<stdio.h> #include<string.h...
- lập trình tìm các bộ số pitago | lập trình c/c++ lập trình tìm các bộ số pitago | lập trình c/c++. Một tam giác vuông có thể có tất cả các cạnh là các số nguyên. Tập của ba số nguyên của...
- Viết định nghĩa lớp TamGiac ,quay, tịnh tiến, phóng thu Viết định nghĩa lớp TamGiac để biểu diễn khái niệm tam giác trong mặt phẳng với các phương thức thiết lập, huỷ bỏ (nếu có). Các hàm thành ph...
- OOP C++ cộng trừ nhân chia số phức Làm lại bài số phức với một phương thức thiết lập duy nhất cho phép quan điểm một số thực như một số phức đặc biệt (phần ảo bằng 0). Định ng...
- [OOP C++] quản lý nhân viên và tính lương cho từng nhân viên bài tập OOP C++. Giả sử Công ty có hai loại nhân viên: Nhân viên văn phòng và Nhân viên sản xuất. Viết chương trình quản lý và tính lương ch...
- hiệu suất máy tính và cách tính hiệu suất, các thông số liên quan execution time: thời gian thực thi (s) performance:hiệu suất clock cycle: chu kỳ xung đồng hồ clock rate: số clock cycle thực hiện trong ...
- [C++] Tìm ma trận nghịch đảo của 1 ma trận vuông cấp n tùy ý [C++] Tìm ma trận nghịch đảo của 1 ma trận vuông cấp n tùy ý #include<iostream> #include<iomanip> using namespace std; void nhap...
- các hệ thống số cơ bản, nhị phân, bát phân, thập lục phân, thập phân các hệ thống số cơ bản thập phân: gồm các chữ số 0,1,2,3,4,5,6,7,8,9 ví dụ: 576.348 = 5*10^2 + 7*10^1 + 6*10^0 + 3*10^-1 + 4*10^-2 ...
- Viết chương trình nhập vào hai phân số, tìm phân số lớn nhất và xuất kết quả. Viết chương trình nhập vào hai phân số, tìm phân số lớn nhất và xuất kết quả. //tìm phân số lớn nhất #include<iostream> using name...
- class CDate biểu diễn ngày tháng năm và các phép toán+- 5. Định nghĩa lớp CDate biểu diễn khái niệm ngày, tháng, năm với các phép toán +, - (cộng, trừ thêm một số ngày), ++, -- (thêm bớt một ngày)...
Labels
- bai tap c
- bai tap oop
- cau truc cay
- danh sach lien ket
- giai thuat
- giao trinh hoc c
- giao trinh oop
- html
- kien truc may tinh
- lap trinh c
- lap trinh web
- linh tinh
- linux
- mang may tinh
- may tinh
- PHP
- sap xep
- SQL
- tim kiem
Blog Archive
- ► 2016 (6)
- ► March (4)
- ► January (2)
- ► 2014 (66)
- ► December (9)
- ► October (28)
- ► September (29)
Categories
- bai tap c
- bai tap oop
- cau truc cay
- danh sach lien ket
- giai thuat
- giao trinh hoc c
- giao trinh oop
- html
- kien truc may tinh
- lap trinh c
- lap trinh web
- linh tinh
- linux
- mang may tinh
- may tinh
- PHP
- sap xep
- SQL
- tim kiem
BTemplates.com
Đồng Hồ Gỗ, Tượng Gỗ Di Lặc, Phúc Lộc Thọ Dịch Vụ Kế Toán Tại Nhà Kế Toán Copyright © Lập Trình 321 | Powered by Blogger Design by FThemes | Blogger Theme by Lasantha - Premium Blogger Templates | NewBloggerThemes.comTừ khóa » Thư Viên Fstream
-
Tìm Hiểu Về Fstream — Modern C++ - STDIO
-
Thao Tác File Với Thư Viện Fstream C/c++ - HIẾN TRẦN
-
Đọc/ghi File Trong C++ | Fstream Trong C++
-
Fstream, Ifstream Và Ofstream Trong C++
-
Hiến Trần: Thao Tác File Với Thư Viện Fstream C/C++, Tìm Hiểu ...
-
Source Code Thư Viện Fstream Trong C++ - Dạy Nhau Học
-
Sử Dụng File Siêu Cơ Bản Với C++ - CodeLearn
-
Đọc/ghi File Trong C++ | Fstream Trong C++
-
Thư Viện Chuẩn C++ (C++ Standard Library)
-
Top 13 Hàm Fstream Trong C++
-
[PDF] Bài 12: Đọc/ghi Trên Luồng Và Tệp - UET
-
Hỏi đáp - LQDCoder