THAO TÁC VỚI FILE TRONG C

      82

Trong bài này họ đang tò mò bí quyết phát âm ghi file trong C bằng cách sử dụng các hàm xử lý file: fprintf(), fscanf(), fread(), fwrite(), fseek().

Bạn đang xem: Thao tác với file trong c

Đa số sinh viên VN học xây dựng C là nhằm luyện tư duy lô ghích, cũng đều có một số trong những fan dùng để làm tạo ra ứng dụng thực tế nên việc thao tác cùng với file là hết sức đặc trưng khi đề xuất tàng trữ tài liệu cơ mà ko yêu cầu hệ quản trị DataBase.


1. Tại sao buộc phải tàng trữ dữ liệu lên file?

Lúc chương trình kết thúc thì toàn thể dữ liệu sẽ ảnh hưởng mất, bởi vậy nếu khách hàng lưu lại vào file thì đã xem xét lại được ban bố.

Hoặc nếu như khách hàng cần nhập tài liệu to thì đang mấ không ít thời hạn. Nhưng nếu như bạn lưu lại nó vào trong 1 file tất cả kết cấu đồng hóa, cùng cần sử dụng lệnh gọi ghi file trong C thì Việc cách xử lý đã nkhô giòn gọn hơn không ít.

Quý Khách cũng có thể dễ dãi copy tài liệu tự lắp thêm này lịch sự đồ vật khác.


Tuy nhiên vấn đề lưu trữ này là không an ninh, bởi người tiêu dùng hoàn toàn có thể mnghỉ ngơi tệp tin ra hiểu một phương pháp tiện lợi, chứ không hề giống hệt như lưu trữ vào những hệ quản trị DataBase nlỗi SQL Server / MySQL / Oracle.


2. Có đầy đủ loại file phổ cập nào?

khi xử trí file vào C thì bạn phải quan tâm mang lại hai các loại file nlỗi sau:

Text filesBinary files

Text file

Là một file có phần mở rộng là txt, nó là tệp tin thường thì cần rất có thể mnghỉ ngơi nó bởi mọi pháp luật phát âm tệp tin text dễ dàng nhỏng notepad.

Lúc bạn mnghỉ ngơi các tệp tin đó, các bạn sẽ thấy toàn bộ ngôn từ trong tệp dưới dạng vnạp năng lượng bản đơn thuần. quý khách có thể dễ dãi chỉnh sửa hoặc xóa văn bản.

Chúng cần được buổi tối ưu để giúp dễ nhìn đọc, bảo mật, cũng tương tự chiếm phần ít dung lượng tàng trữ.

Binary files

Là phần lớn tệp tin tất cả phần đuôi không ngừng mở rộng là .bin cùng nó có tương đối nhiều trong máy tính của người tiêu dùng đấy.


Quảng cáo


Thay vày lưu trữ làm việc dạng vnạp năng lượng bạn dạng thuần túy thì chúng ta lưu trữ làm việc dạng nhị phân (0 cùng 1), vì vậy kích thước tệp tin sẽ khá nhiều năm, dẫu vậy bù lại tài liệu sẽ không thể gọi bởi đôi mắt thường được buộc phải bình yên hơn.

3. Các làm việc cơ bản cùng với file trong C

Bây giờ ta đã thực hành một vài ba làm việc cùng với tệp tin thông dụng nhất nhé.

Knhị báo lót trỏ loại FILE

khi thao tác làm việc cùng với tệp tin thì chúng ta buộc phải knhì báo trong trỏ mẫu mã FILE, nó vẫn trỏ mang đến tệp tin cần gọi bên trên máy tính và góp trình biên dịch hiểu ghi tài liệu với file.


FILE *fptr;

Mtại 1 file

Để mngơi nghỉ tệp tin thì ta sử dụng hàm fopen() phía trong tlỗi viện stdio.h. Cú pháp của nó nhỏng 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 mngơi nghỉ file cực kỳ ví dụ. Nhưng cơ chế phát âm tệp tin mode thì các bạn hãy xem bảng dưới đây.

ModeMeaning of Mode
rMlàm việc để hiểu.
rbMsinh sống gọi theo chính sách binary.
wMngơi nghỉ để ghi.
wbMlàm việc ghi theo chính sách binary.
aMở nhằm ghi thêm dữ liệu vào cuối tệp tin.
abMlàm việc nghỉ ngơi chế độ binary,Dữ liệu sẽ được ghi vào thời gian cuối file.

Xem thêm: Tổng Hợp Các Phần Mềm Lấy Data Khách Hàng Tiềm Năng Miễn Phí Thời Đại 4

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

Đóng kết nối

Sau Lúc mở file với tiến hành dứt thì bạn nên đóng góp tệp tin lại bằng cách sau:


fclose(fptr);
Trong đó fptr là bé trỏ của file sẽ giải pháp xử lý.

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

Để hiểu cùng ghi tài liệu vào tệp tin text thì ta sử dụng hai hàm fprintf() và fscanf().

Ví dụ: Ghi tài liệu vào file 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 trong những từ bỏ người tiêu dùng và 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, bạn cũng có thể thấy tệp tin program.txt được tạo ra trong ổ C của sản phẩm tính. khi bạn mngơi nghỉ file chúng ta có thể thấy số nguyên chúng ta đã nhập.

lấy một ví dụ 2: Đọc dữ liệu từ tệp tin 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;
Cmùi hương trình này hiểu số nguyên tất cả trong tệp tin program.txt cùng in ra màn hình hiển thị.

Nếu các bạn đang tạo thành công xuất sắc tệp tin tự ví dụ 1 thì lúc chạy công tác này đang cảm nhận số nguyên ổn chúng ta sẽ nhập.


Quảng cáo


Các hàm khác như fgetchar (), fputc (), v.v. sử dụng tựa như theo cách này.

4. Đọc cùng ghi dữ liệu vào file binary

Hai hàm fread() với fwrite() được dùng để gọi với ghi vào tệp tin nghỉ ngơi định dạng nhị phân binary.

Ghi file nhị phân

Để ghi vào tệp tin nhị phân, bạn cần áp dụng hàm fwrite (). Hàm này có tứ tđắm đuối số:

Đường dẫn cho file phải ghiKích thước của dữ liệuSố nhiều loại dữ liệu nhỏng vậyCon trỏ mang lại tệp tin nhưng bạn có nhu cầu ghi

fwrite(addressData, sizeData, numbersData, pointerToFile);
Ví dụ: Ghi tài liệu vào file nhị phân thực hiện ham 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 lịch trình giả dụ bé trỏ hiểu file trả về NULL. exit(1); for(n = 1; n

Đọc dữ liệu file nhị phân

Để hiểu tệp tin nhị phân thì ta sử dụng hàm fread(), hàm này cũng có tư tmê say 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 nếu nhỏ trỏ phát âm file trả về NULL. exit(1); for(n = 1; n

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

Nếu chúng ta có tương đối nhiều loại ghi phía bên trong tệp tin và buộc phải truy vấn mang đến vị trí ví dụ thì chỉ cần lặp qua toàn bộ các cái với rước mẫu ao ước đem, điều đó sẽ tiêu tốn lãng phí tương đối nhiều bộ nhớ lưu trữ và thời gian chuyển động.

Ta rất có thể thực hiện hàm fseek () để trỏ cho cái mong ước một bí quyết nkhô hanh tuyệt nhất mà lại không hẳn chú ý tất cả câu chữ của file.

Cú pháp:


fseek(FILE * stream, long int offmix, int whence);
Tmê mệt số trước tiên là nhỏ trỏ mang lại file. Tđê mê số đồ vật nhì là form size tài liệu đề xuất ghi vào. Tmê mệt số vật dụng ba rọi định vị trí ban đầu tìm kiếm.

Tđam mê số whence chính là một trong các tía hằng số sau:


Quảng cáo


WhenceÝ nghĩa
SEEK_SETBắt đầu tự địa chỉ trước tiên của tệp tin.
SEEK_ENDBắt đầu trường đoản cú địa chỉ cuối cùng của file.
SEEK_CURBắt đầu từ bỏ địa chỉ hiện nay của bé 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 lịch trình nếu như bé trỏ hiểu tệp tin trả về NULL. exit(1); // Di gửi nhỏ trỏ về cuối file fseek(fptr, -sizeof(struct threeNum), SEEK_END); for(n = 1; n
Chương thơm trình này đang bước đầu đọc những bản ghi tự file program.bin theo trang bị tự ngược chở lại (từ thời điểm cuối đến 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 di động
» HTML & CSS
» Bootstrap
» TypeScript
» SASS CSS
» VueJS
» NestJS
» Học ReactJS
WEB BACKEND
» PHP.
» Codeigniter
» Laravel
» WordPress
» Phalcon
» OpenCart
» NodeJS
» Blogspot
DATABASE
» Học MySQL
» Học MongoDB
» cơ sở dữ liệu căn phiên bản
» Học Oracle
» Học Squốc lộ Server
» Học SQLite
PROGRAMMING
» Pykhông lớn
» 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 sầu
» Học iOS
» Android
CÔNG CỤ
» Học Git
» Testing
» Control Panel
» Dev Tool
» FFmpeg
TIN HỌC
» Excel
» Word
» PowerPoint
» Access
» Photosiêu thị
MÔN HỌC
» Tiếng Anh
» Tân oán
» Tiếng Nhật
» Văn 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 Môn học
Hosting
Tinohost Azdigi Vultr INET
Khóa học
PHP.. AZ Laravel Frontkết thúc FullStachồng Javascript jQuery Javascript NodeJS + ReactJS

*

tinh dầu vape, pod 1 lần