Đọc/ghi File trong C++ | fstream 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.

Tới tăng tốc bây giờ quảng cáo , chúng ta kỹ thuật đã sử dụng thư viện chuẩn iostream tăng tốc , cung cấp tốc độ các phương thức cin tất toán và cout quản lý để đọc từ Standard Input an toàn và ghi tới Standard Output tương ứng.

Chương này địa chỉ sẽ hướng dẫn bạn cách đọc danh sách và ghi một file qua app . Điều này cần một Thư viện chuẩn C++ khác là fstream ở đâu nhanh , miễn phí 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

hướng dẫn

thanh toán

được sử dụng

đăng ký vay

để tạo

danh sách

các file

hay nhất

đăng ký vay

để ghi thông tin tới

trên điện thoại

các file đóifstreamKiểu dữ liệu này biểu diễn Input File Stream

tổng hợp

công cụ

được sử dụng

trên điện thoại

để đọc thông tin từ

miễn phí

các filefstreamKiểu dữ liệu này nói chung biểu diễn File Stream

thanh toán

,

giá rẻ

và có

công cụ

các khả năng

lừa đảo

của cả ofstream

nhanh nhất

và ifstream

qua app

, nghĩa là nó

miễn phí

có thể tạo file

dữ liệu

, ghi thông tin tới file

an toàn

và đọc thông tin từ file

Để thực hiện tiến trình xử lý file trong C++ qua web , bạn bao lấy liền các header file là <iostream> trực tuyến và <fstream> trong source file tổng hợp của chương trình C++ mẹo vặt của bạn.

Mở một File trong C++

Một file phải phải làm sao được mở trước khi bạn bản quyền có thể đọc thông tin từ nó qua web hoặc ghi thông tin tới nó giá rẻ . Hoặc đối tượng ofstream link down hoặc đối tượng fstream khóa chặn có thể ở đâu nhanh được sử dụng tối ưu để mở một file mới nhất với mục đích viết sử dụng hoặc đối tượng ifstream bản quyền được sử dụng vô hiệu hóa để mở file chỉ tự động với mục đích đọc.

Dưới đây là cú pháp chuẩn cho hàm open() quản lý , là một thành viên dữ liệu của qua mạng các đối tượng fstream thanh toán , ifstream kích hoạt và ofstream trong C++:

void open(const char *ten_file

nạp tiền

, ios::che_do);

Tại đây hay nhất , tham số đầu tiên xác định tên an toàn và vị trí sửa lỗi của file ở đâu uy tín để chi tiết được mở miễn phí và tham số thứ hai tất toán của hàm thành viên open() định nghĩa chế độ sửa lỗi mà file nên sửa lỗi được mở.

Chế độMiêu tảios::appChế độ Append

sửa lỗi

. Tất cả output tới file đó

vô hiệu hóa

được phụ thêm vào cuối file đóios::ateMở một file cho outpur

tính năng

và di chuyển điều khiển read/write tới cuối

full crack

của fileios::inMở một file

sử dụng

để đọcios::outMở một file

kỹ thuật

để ghiios::trunc

hướng dẫn

Nếu file này

giả mạo

đã tồn tại

bản quyền

, nội dung

lấy liền

của nó

đăng ký vay

sẽ

qua app

được cắt (truncate) trước khi mở file

Bạn tính năng có thể kết hợp hai chia sẻ hoặc nhiều giá trị này bằng việc dịch vụ hoặc chúng cùng chia sẻ với nhau (sử dụng (|) đăng ký vay . Ví dụ kiểm tra , hỗ trợ nếu bạn muốn mở một file trong chế độ ghi danh sách và muốn cắt (truncate) nó trong trường hợp nó dữ liệu đã tồn tại kinh nghiệm , bạn theo cú pháp sau:

ofstream outfile; 
outfile.open("file.dat"

dịch vụ

, ios::out | ios::trunc );

Theo cách tương tự giá rẻ , bạn lấy liền có thể mở một file qua app với mục đích đọc bản quyền và ghi phải làm sao như sau:

fstream QTM; 
QTM.open("file.dat"

nhanh nhất

, ios::out | ios::in );

Đóng một File trong C++

địa chỉ Khi một chương trình C++ kết thúc full crack , nó tự động đóng mật khẩu tất cả Stream ở đâu nhanh , giải phóng nguyên nhân tất cả bộ nhớ sử dụng đã cấp phát link down và đóng phải làm sao tất cả file chia sẻ đã mở thanh toán . Nhưng nó là bài thực hành tốt cho một lập trình viên nên đóng ở đâu nhanh tất cả file cập nhật đã 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++ danh sách , là một thành viên đăng ký vay của bản quyền các đối tượng fstream giá rẻ , ifstream sử dụng và ofstream trong C++:

void close();

Ghi File trong C++

Trong khi lập trình C++ mẹo vặt , bạn ghi thông tin tới một file từ chương trình ở đâu uy tín của bạn lấy liền bởi sử dụng toán tử chèn luồng là (<<) ở đâu tốt , giống như khi bạn sử dụng toán tử đó tổng hợp để tạo thông tin đầu ra tới màn hình ở đâu tốt . Chỉ có một điểm khác nhau là bạn sử dụng một đối tượng ofstream kinh nghiệm hoặc fstream trong C++ thay cho đối tượng cout trong C++.

Đọc một File trong C++

Bạn đọc thông tin từ một file trong chương trình C++ miễn phí của bạn giá rẻ bởi sử dụng toán tử trích luồng là (>>) cập nhật , giống như bạn sử dụng toán tử đó qua mạng để nhập thông tin đầu vào từ bàn phím đăng ký vay . Điểm khác nhau là bạn sử dụng một đối tượng ifstream tối ưu hoặc fstream thay vì sử dụng đối tượng cin trong C++.

Ví dụ về Đọc

mẹo vặt

và Ghi file trong C++

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

#include <fstream> 
#include <iostream> 
using namespace std; 
int main () 
{ 
  char data[100]; // mo mot file trong che do write

quản lý

. ofstream outfile; outfile.open("qtm.dat"); cout << "Ghi du lieu toi file!" << endl; cout << "Nhap ten cua ban: "; cin.getline(data

tài khoản

, 100); // ghi du lieu da nhap vao trong file

giả mạo

. outfile << data << endl; cout << "Nhap tuoi cua ban: "; cin >> data; cin.ignore(); // ghi du lieu da nhap vao trong file

kỹ thuật

. outfile << data << endl; // dong file da mo

tăng tốc

. outfile.close(); //mo mot file trong che do read

tốc độ

. ifstream infile; infile.open("qtm.dat"); cout << " =========================== " ; cout << "Doc du lieu co trong file!" << endl; infile >> data; // ghi du lieu tren man hinh

ở đâu nhanh

. cout << data << endl; // tiep tuc doc va hien thi du lieu

phải làm sao

. infile >> data; cout << data << endl; // dong file da mo

kích hoạt

. infile.close(); return 0; }

Biên dịch hay nhất và chạy chương trình C++ trên ở đâu tốt sẽ cho kết quả sau:

Đọc/ghi File trong C++ | fstream trong C++

Ví dụ trên sử dụng kỹ thuật các hàm bổ sung từ đối tượng cin mẹo vặt , như hàm getline() tốt nhất để đọc dòng từ bên ngoài kỹ thuật và hàm ignore() qua web để bỏ qua tốt nhất các ký tự phụ bên trái lệnh read trước đó.

Con trỏ vị trí File trong C++

Cả hai đối tượng istream tổng hợp và ostream đều cung cấp khóa chặn các hàm thành viên an toàn để xác định lại vị trí an toàn của con trỏ vị trí file (file-position pointer) hướng dẫn . Các hàm thành viên này là seekg (viết tắt nhanh nhất của seek get) cho istream kinh nghiệm và seekp (viết tắt an toàn của seek put) cho ostream trong C++.

Tham số cho seekg tốc độ và seekp thương là một long int download . Tham số thứ hai quảng cáo có thể cập nhật được xác định qua app để chỉ dẫn hướng tìm kiếm tất toán . Hướng tìm kiếm nạp tiền có thể là ios::beg (mặc định) khóa chặn để xác định vị trí liên quan tới phần bắt đầu giá rẻ của một Stream qua web , là ios::cur thanh toán để xác định vị trí liên quan tới vị trí sử dụng hiện tại trong một Stream hướng dẫn hoặc là ios::end công cụ để xác định vị trí liên quan tới phần kết thúc qua web của một Stream trong C++.

Con trỏ vị trí file là một giá trị integer nơi nào mà xác định vị trí trong file cập nhật , tính toán là số byte từ vị trí bắt đầu kiểm tra của file đó nguyên nhân . Dưới đây là một số ví dụ ở đâu nhanh để xác định vị trí như thế nào của con trỏ vị trí file trong C++:

// xac dinh vi tri byte thu n cua doi tuong file 
doi_tuong_file.seekg( n ); 
// xac dinh vi tri n byte ve sau cua doi tuong file 
doi_tuong_file.seekg( n

tất toán

, ios::cur ); // xac dinh vi tri n byte bat dau tu cuoi cua doi tuong file doi_tuong_file.seekg( n

danh sách

, ios::end ); // xac dinh vi tri tai cuoi doi tuong file doi_tuong_file.seekg( 0

tự động

, ios::end );

Theo Tutorialspoint

Bài trước: Interface trong C++ (Lớp trừu tượng)

Bài tiếp: Xử lý ngoại lệ (Exception Handling) trong C++

4.8/5 (54 votes)