Cách tạo file input trong C++

Tới bây giờ, chúng ta đã sử dụng thư viện chuẩn iostream, cung cấp các phương thức cin và cout để đọc từ Standard Input và ghi tới Standard Output tương ứng.

Chương này sẽ hướng dẫn bạn cách đọc và ghi một file. Điều này cần một Thư viện chuẩn C++ khác là fstream, mà định nghĩa 3 kiểu dữ liệu mới:

Kiểu dữ liệuMiêu tả
ofstreamKiểu dữ liệu này biểu diễn Output File Stream và được sử dụng để tạo các file và để ghi thông tin tới các file đó
ifstreamKiểu dữ liệu này biểu diễn Input File Stream và được sử dụng để đọc thông tin từ các file
fstreamKiểu dữ liệu này nói chung biểu diễn File Stream, và có các khả năng của cả ofstream và ifstream, nghĩa là nó có thể tạo file, ghi thông tin tới file và đọc thông tin từ file

Để thực hiện tiến trình xử lý file trong C++, bạn bao các header file là và trong source file của chương trình C++ của bạn.

Mở một File trong C++

Một file phải được mở trước khi bạn có thể đọc thông tin từ nó hoặc ghi thông tin tới nó. Hoặc đối tượng ofstream hoặc đối tượng fstream có thể được sử dụng để mở một file với mục đích viết hoặc đối tượng ifstream được sử dụng để mở file chỉ với mục đích đọc.

Dưới đây là cú pháp chuẩn cho hàm open[], là một thành viên của các đối tượng fstream, ifstream và ofstream trong C++:

void open[const char *ten_file, ios::che_do];

Tại đây, 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 thành viên open[] định nghĩa chế độ mà file nên được mở.

Chế độMiêu tả
ios::appChế độ Append. Tất cả output tới file đó được phụ thêm vào cuối file đó
ios::ateMở một file cho outpur và di chuyển điều khiển read/write tới cuối của file
ios::inMở một file để đọc
ios::outMở một file để ghi
ios::truncNếu file này đã tồn tại, nội dung của nó sẽ được cắt [truncate] trước khi mở file

Bạn có thể kết hợp hai hoặc nhiều giá trị này bằng việc hoặc chúng cùng với nhau [sử dụng [|]. Ví dụ, nếu bạn muốn mở một file trong chế độ ghi và muốn cắt [truncate] nó trong trường hợp nó đã tồn tại, bạn theo cú pháp sau:

ofstream outfile; outfile.open["file.dat", ios::out | ios::trunc ];

Theo cách tương tự, bạn có thể mở một file với mục đích đọc và ghi như sau:

fstream QTM; QTM.open["file.dat", ios::out | ios::in ];

Đóng một File trong C++

Khi một chương trình C++ kết thúc, nó tự động đóng tất cả Stream, giải phóng tất cả bộ nhớ đã cấp phát và đóng tất cả file đã mở. Nhưng nó là bài thực hành tốt cho một lập trình viên nên đóng tất cả file đã mở trước khi kết thúc chương trình.

Dưới đây là cú pháp chung cho hàm close[] trong C++, là một thành viên của các đối tượng fstream, ifstream và ofstream trong C++:

void close[];

Ghi File trong C++

Trong khi lập trình C++, bạn ghi thông tin tới một file từ chương trình của bạn bởi sử dụng toán tử chèn luồng là [], giống như bạn sử dụng toán tử đó để nhập thông tin đầu vào từ bàn phím. Điểm khác nhau là bạn sử dụng một đối tượng ifstream hoặc fstream thay vì sử dụng đối tượng cin trong C++.

Ví dụ về Đọc và Ghi file trong C++

Chương trình C++ sau mở một file trong chế độ đọc và ghi. Sau khi ghi thông tin được nhập vào bởi người sử dụng tới một file là qtm.dat, chương trình đọc thông tin từ file đó và tạo kết quả đầu ra trên màn hình:

#include #include using namespace std; int main [] { char data[100]; // mo mot file trong che do write. ofstream outfile; outfile.open["qtm.dat"]; cout

Chủ Đề