Các Thao Tác Cơ Bản Với File Trong C++ Cực Chi Tiết
Có thể bạn quan tâm
Thao tác với file là việc không thể thiếu đối với bất kì lập trình viên nào. Ví vậy, để giúp các bạn bắt đầu làm quen thao tác với file trong C++, trong bài viết này Isinhvien sẽ giới thiệu đến các bạn cách đọc ghi file trong C++ siêu cơ bản và cực kì dễ hiểu. Cùng bắt đầu ngay bây giờ nhé!
Để sử dụng file, đầu tiên ta cần khai báo thư viện fstream với cú pháp #include<fstream>. Khi xử lí file trong C++, ta có 3 classs:
- ifstream: là class để đọc dữ liệu đầu vào từ file
- ofstream: là class để ghi dữ liệu vào
- fstream: là class để đọc hoặc ghi dữ liệu, ta có thể thay thế ifstream và ofstream bằng từ khóa fstream.
Mở một file trong C++
Đầu tiên, để làm việc với file thì ta cần phải mở ra lên trước đã. Ta có thể sử dụng ifstream để mở file với mục đích đọc, ofstream để mở file với mục đích ghi hoặc fstream nếu bạn vừa muốn đọc, vừa muốn ghi. Ta sẽ dùng hàm open (là một thành viên của các đối tượng fstream, ifstream và ofstream trong C++) để mở file với cú pháp như sau:
open(const char *ten_file, ios::che_do);Với tham số đầu tiên xác định tên và vị trí của file được mở và tham số thứ hai của hàm định nghĩa chế độ mà file nên được mở. Các chế độ được miêu tả trong bảng sau:
Chế độ | Miêu tả |
---|---|
ios::app | Chế độ Append. Tất cả output tới file đó được phụ thêm vào cuối file đó |
ios::ate | Mở một file cho output và di chuyển điều khiển read/write tới cuối của file |
ios::in | Mở một file để đọc |
ios::out | Mở một file để ghi |
ios::trunc | Nếu file này đã tồn tại, nội dung của nó sẽ được cắt (truncate) trước khi mở file |
Ta cũng có thể cùng lúc sử dụng hai hoặc nhiều chế độ khi mở file.
Ví dụ:
fstream Isv; Isv.open("file.txt", ios::out | ios::in ); // Mở file vừa đọc vừa ghiĐóng file trong C++
Khi ta không cần làm việc với file nữa, thì ta cần đóng chúng lại với hàm close(), một thành viên của các đối tượng fstream, ifstream và ofstream trong C++:
Ví dụ:
fstream Isv; Isv.open("file.txt", ios::out | ios::in ); .... .... Isv.close(); // Đóng file IsvĐọc và ghi file trong C++
Bình thường khi chúng ta lấy dữ liệu từ bàn phím ta sẽ sử dụng câu lệnh cin >> và in dữ liệu ra màn hình console ta dùng cout <<, và tương tự với đọc dữ liệu từ file và ghi dữ liệu vào file ta chỉ cần thay cin thành tên file cần đọc dữ liệu, và thay cout thành tên file cần ghi dữ liệu vào. Nếu chỉ dùng file >> str; thì ta chỉ đọc được chuỗi cho tới khi nó gặp dấu cách. Muốn lấy dữ liệu lấy được cả dấu cách ta dùng hàm getline (file,str);
Ví dụ:
Giả sử Isinhvien đang có một file trống output và một file input với nội dung ‘Isinhvien!!’ như hình dưới.
Chương trình dưới đây sẽ in dữ liệu ở file input và ghi ‘Chuc cac ban thanh cong‘ vào file output.
#include <iostream> #include <fstream> using namespace std; int main(){ fstream input("input.txt"); fstream output; output.open("output.txt", ios::out ); string str; input>>str; // lấy giá trị biến str từ file input cout<<str; // in str ra màn hình console output<<"Chuc cac ban thanh cong!!"; //in vào file output input.close(); //đóng file input output.close(); //đóng file output return 0; }Kết quả trên màn hình:
Isinhvien!!Kết quả trên 2 file
Hi vọng sau bài viết này thì các bạn sẽ thành thạo hơn về các thao tác đóng, mở và đọc ghi file trong C++ nhé! Nếu thấy bài viết này của Isinhvien hay và bổ ích thì hãy chia sẻ nó đến với bạn bè của mình để ủng hộ cho Isinhvien và giúp Isinhvien ngày càng phát triển hơn nhé! Chúc các bạn thành công!
Bài viết khác liên quan đến thao tác file c++
- Tổng hợp các hàm xử lí file trong C++
Từ khóa » Thư Viện Fstream Trong C++
-
Đọc/ghi File Trong C++ | Fstream Trong C++
-
Đọc Ghi File Cơ Bản Với Fstream — Modern C++ - STDIO
-
Fstream, Ifstream Và Ofstream Trong C++
-
Sử Dụng File Siêu Cơ Bản Với C++ - CodeLearn
-
Đọc/ghi File Trong C++ | Fstream Trong C++
-
10.2 Một Số Thao Tác đọc Dữ Liệu Từ File Trong C++
-
Các Kỹ Thuật Lập Trình Với Tập Tin (file) Trong C++ - Góc Học IT
-
Top 13 Hàm Fstream Trong C++
-
[Lập Trình C++ Cơ Bản] Bài 13: Nhập Xuất Dữ Liệu Bằng File - Viblo
-
Làm Việc Với File - Trần Lê Hùng Phi
-
Thao Tác File Với Thư Viện Fstream C/c++ - HIẾN TRẦN