đọc ghi file c++

Trong bài bác này chúng ta sẽ mày mò cách đọc ghi tệp tin vào C bằng cách sử dụng các hàm xử lý file: fprintf(), fscanf(), fread(), fwrite(), fseek().

You watching: đọc ghi file c++

Đa số sinch viên cả nước học lập trình C là để luyện bốn duy logic, cũng có một vài tín đồ dùng làm kiến tạo áp dụng thực tế nên việc làm việc với tệp tin là khôn cùng đặc trưng lúc đề xuất lưu trữ dữ liệu mà ko bắt buộc hệ quản trị CSDL.


1. Tại sao bắt buộc lưu trữ tài liệu lên file?

Lúc công tác chấm dứt thì cục bộ dữ liệu có khả năng sẽ bị mất, vì vậy nếu như khách hàng lưu vào tệp tin thì đang xem xét lại được ban bố.

Hoặc nếu bạn phải nhập tài liệu bự thì đang mấ tương đối nhiều thời gian. Nhưng nếu như bạn lưu giữ nó vào một trong những file tất cả kết cấu đồng điệu, cùng dùng lệnh phát âm ghi tệp tin vào C thì việc cách xử trí sẽ nkhô hanh gọn gàng rộng không hề ít.

Bạn cũng có thể dễ ợt copy tài liệu từ bỏ trang bị này thanh lịch lắp thêm không giống.


Tuy nhiên bài toán lưu trữ này là không bình yên, bởi người dùng hoàn toàn có thể mngơi nghỉ tệp tin ra đọc một cách dễ dãi, chứ không hề giống như tàng trữ vào những hệ quản trị DataBase nhỏng Squốc lộ Server / MySquốc lộ / Oracle.


2. Có rất nhiều nhiều loại tệp tin phổ biến nào?

khi cách xử lý tệp tin vào C thì bạn phải quyên tâm đến nhị loại tệp tin nlỗi sau:

Text filesBinary files

Text file

Là một tệp tin có phần không ngừng mở rộng là txt, nó là tệp tin thường thì nên có thể msinh sống nó bằng phần nhiều giải pháp gọi file text đơn giản và dễ dàng nlỗi notepad.

Khi các bạn msinh sống các tệp tin đó, bạn sẽ thấy tất cả ngôn từ vào tệp bên dưới dạng vnạp năng lượng bản thuần túy. Bạn rất có thể dễ dãi chỉnh sửa hoặc xóa văn bản.

Chúng rất cần được tối ưu để giúp đỡ dễ nhìn đọc, bảo mật thông tin, cũng như chiếm phần không nhiều dung lượng lưu trữ.

Binary files

Là phần đa tệp tin gồm phần đuôi không ngừng mở rộng là .bin và nó có nhiều trong laptop của bạn đấy.


Quảng cáo


Txuất xắc vì lưu trữ sinh hoạt dạng văn bạn dạng đơn thuần thì bọn họ lưu trữ làm việc dạng nhị phân (0 với 1), bởi vậy size file sẽ khá lâu năm, cơ mà bù lại dữ liệu sẽ không thể phát âm bởi mắt thường xuyên được phải bình yên rộng.

3. Các thao tác làm việc cơ phiên bản cùng với tệp tin trong C

Bây tiếng ta đang thực hành một vài thao tác làm việc với file phổ cập tốt nhất nhé.

Knhị báo con trỏ loại FILE

Khi thao tác cùng với file thì các bạn phải knhị báo trong trỏ thứ hạng FILE, nó vẫn trỏ cho file bắt buộc đọc bên trên máy tính xách tay và giúp trình biên dịch gọi ghi dữ liệu với tệp tin.


FILE *fptr;

Mở 1 file

Để mnghỉ ngơi file thì ta sử dụng hàm fopen() phía trong thỏng viện stdio.h. Cú pháp của nó nlỗi sau:


ptr = fopen("fileopen","mode");
Ví dụ:


Quảng cáo


fopen("E:\cprogram\newprogram.txt","w");fopen("E:\cprogram\oldprogram.bin","rb");
Đường dẫn msống file khôn cùng ví dụ. Nhưng cơ chế phát âm tệp tin mode thì bạn hãy coi bảng tiếp sau đây.

ModeMeaning of Mode
rMlàm việc để phát âm.
rbMở phát âm theo chính sách binary.
wMnghỉ ngơi để ghi.
wbMsống ghi theo chế độ binary.
aMsinh sống để ghi thêm dữ liệu vào thời gian cuối tệp tin.
abMlàm việc sinh hoạt chính sách binary,Dữ liệu sẽ tiến hành ghi vào thời điểm cuối file.

See more: Tuyển Tập Những Câu Nói Hay Về Thời Gian Trôi Nhanh, Status Thời Gian

r+Msống để hiểu cùng ghi
rb+Mlàm việc để gọi với ghi ở chế độ binary.
w+Mlàm việc nhằm phát âm với ghi
wb+Msinh sống nhằm gọi và ghi ngơi nghỉ cơ chế binary..
a+Mlàm việc để hiểu với bổ sung cập nhật dữ liệu.
ab+Mngơi nghỉ nhằm hiểu cùng bổ sung tài liệu. chế độ binary.

Đóng kết nối

Sau Lúc msinh hoạt file với triển khai chấm dứt thì chúng ta nên đóng file lại bằng cách sau:


fclose(fptr);
Trong đó fptr là nhỏ trỏ của tệp tin sẽ xử trí.

4. Đọc và ghi vào file text

Để đọc với ghi dữ liệu vào file text thì ta thực hiện nhị hàm fprintf() với fscanf().

Ví dụ: Ghi dữ liệu vào tệp tin text


Quảng cáo


#include #include int main() int num; FILE *fptr; fptr = fopen("C:\program.txt","w"); if(fptr == NULL) printf("Error!"); exit(1); printf("Enter num: "); scanf("%d",&num); fprintf(fptr,"%d",num); fclose(fptr); return 0;
Cmùi hương trình này mang một số trong những từ bỏ người dùng cùng tàng trữ trong tệp tin program.txt.

Sau khi biên dịch với chạy công tác này, chúng ta có thể thấy tệp tin program.txt được tạo nên vào ổ C của sản phẩm tính. lúc bạn msống file bạn cũng có thể thấy số ngulặng chúng ta đang nhập.

lấy ví dụ 2: Đọc tài liệu tự file text


#include #include int main() int num; FILE *fptr; if ((fptr = fopen("C:\program.txt","r")) == NULL) printf("Error! opening file"); exit(1); fscanf(fptr,"%d", &num); printf("Value of n=%d", num); fclose(fptr); return 0;
Chương thơm trình này hiểu số nguim tất cả vào tệp tin program.txt cùng in ra screen.

Nếu bạn đang sinh sản thành công xuất sắc tệp tin từ ví dụ 1 thì Khi chạy công tác này vẫn cảm nhận số nguyên các bạn sẽ nhập.


Quảng cáo


Các hàm khác như fgetchar (), fputc (), v.v. thực hiện tựa như Theo phong cách này.

4. Đọc và ghi tài liệu vào tệp tin binary

Hai hàm fread() với fwrite() được dùng để phát âm với ghi vào file ở format nhị phân binary.

Ghi file nhị phân

Để ghi vào tệp tin nhị phân, bạn cần sử dụng hàm fwrite (). Hàm này có bốn tmê mẩn số:

Đường dẫn cho file cần ghiKích thước của dữ liệuSố một số loại dữ liệu nlỗi vậyCon trỏ cho file nhưng bạn muốn ghi

fwrite(addressData, sizeData, numbersData, pointerToFile);
Ví dụ: Ghi tài liệu vào tệp tin nhị phân thực hiện mê mệt ffwrite()


#include #include struct threeNum int n1, n2, n3;;int main(){ int n; struct threeNum num; FILE *fptr; if ((fptr = fopen("C:\program.bin","wb")) == NULL) printf("Error! opening file"); // Dừng công tác trường hợp nhỏ trỏ phát âm file trả về NULL. exit(1); for(n = 1; n

Đọc tài liệu tệp tin nhị phân

Để phát âm file nhị phân thì ta áp dụng hàm fread(), hàm này cũng có tư tmê mẩn số nlỗi hàm fwrite.


Quảng cáo


fread(addressData, sizeData, numbersData, pointerToFile);
#include #include struct threeNum int n1, n2, n3;;int main(){ int n; struct threeNum num; FILE *fptr; if ((fptr = fopen("C:\program.bin","rb")) == NULL) printf("Error! opening file"); // Dừng lịch trình trường hợp con trỏ phát âm tệp tin trả về NULL. exit(1); for(n = 1; n

5. Lấy dữ liệu bởi hàm fseek()

Nếu bạn có khá nhiều dòng ghi phía bên trong tệp tin và bắt buộc truy cập cho địa điểm rõ ràng thì chỉ cần lặp qua toàn bộ những mẫu cùng đem chiếc mong đem, điều đó đang tiêu tốn lãng phí không ít bộ nhớ và thời gian vận động.

Ta có thể thực hiện hàm fseek () nhằm trỏ mang lại mẫu mong muốn một giải pháp nhanh tuyệt nhất cơ mà không hẳn lưu ý tất cả ngôn từ của tệp tin.

Cú pháp:


fseek(FILE * stream, long int offset, int whence);
Tmê say số thứ nhất là nhỏ trỏ cho file. Tđam mê số vật dụng hai là form size tài liệu phải ghi vào. Tđắm say số sản phẩm công nghệ ba rọi định vị trí ban đầu tìm.

Tmê mẩn số whence đó là một trong bố hằng số sau:


Quảng cáo


WhenceÝ nghĩa
SEEK_SETBắt đầu từ bỏ địa điểm thứ nhất của tệp tin.
SEEK_ENDBắt đầu từ bỏ địa chỉ sau cùng của tệp tin.

See more: Ngày Tam Nương Là Gì ? Ngày Tam Nương Là Ngày Nào Trong Từng Tháng

SEEK_CURBắt đầu từ địa điểm bây chừ của nhỏ trỏ

#include #include struct threeNum int n1, n2, n3;;int main(){ int n; struct threeNum num; FILE *fptr; if ((fptr = fopen("C:\program.bin","rb")) == NULL) printf("Error! opening file"); // Dừng chương trình nếu con trỏ phát âm file trả về NULL. exit(1); // Di gửi con trỏ về cuối tệp tin fseek(fptr, -sizeof(struct threeNum), SEEK_END); for(n = 1; n
Chương trình này sẽ bắt đầu gọi những bản ghi từ file program.bin theo lắp thêm trường đoản cú ngược trở lại (từ thời điểm cuối mang lại trước) cùng in ra màn hình.


Quảng cáo


Bài trước Bài tiếp

Quảng cáo


QUẢN TRỊ WEB
» Quản trị Linux
» Thủ thuật Hosting
» Kiến thức Domain
» Windows
» Bảo mật
WEB FRONTEND
» Javascript
» AngularJS
» jQuery
» jQuery điện thoại
» HTML và CSS
» Bootstrap
» TypeScript
» SASS CSS
» VueJS
» NestJS
» Học ReactJS
WEB BACKEND
» PHP
» Codeigniter
» Laravel
» WordPress
» Phalbé
» OpenCart
» NodeJS
» Blogspot
DATABASE
» Học MySquốc lộ
» Học MongoDB
» cơ sở dữ liệu căn phiên bản
» Học Oracle
» Học SQL Server
» Học SQLite
PROGRAMMING
» Pydong dỏng
» Java
» Pascal
» Học C#
» Học Ruby
» Học Swift
» C / C++
» Kotlin
» Golang
» Giải thuật
» Visual Basic
MOBILE DEV
» React Native
» Học iOS
» Android
CÔNG CỤ
» Học Git
» Testing
» Control Panel
» Dev Tool
» FFmpeg
TIN HỌC
» Excel
» Word
» PowerPoint
» Access
» Photoshop
MÔN HỌC
» Tiếng Anh
» Tân oán
» Tiếng Nhật
» Văn uống học
Advertisements

Quảng cáo


Giới thiệu
Giới thiệu Liên hệ Chính sách Điều khoản Guest Post
Liên kết
Thủ thuật Download Game Ứng dụng Tin học tập Môn học tập
Hosting
Tinohost Azdigi Vultr INET
Khóa học
PHP AZ Laravel Frontkết thúc FullStaông xã Javascript jQuery Javascript NodeJS + ReactJS

*