Thao Tác Với File Trong C++

Cùng tò mò về kiểu cách xử lý file vào c. Quý khách hàng đang học được định nghĩa tệp tin trong c là gì, tiến trình xử trí file trong c, cũng tương tự cách cách xử trí lỗi msống file trong C sau bài học kinh nghiệm này.

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

File vào c là gì

Trong trái đất laptop, file là một loại “Tài liệu” nhằm giữ dữ dữ liệu và thông tin. Có không ít kiểu tệp tin khác biệt nhằm lưu giữ dữ các loại tài liệu với báo cáo khác nhau, ví như tệp tin text, tệp tin Excel, tệp tin Json, tệp tin XML, giỏi là tệp tin CSV v.v…

Để hoàn toàn có thể thao tác với những nhiều loại tệp tin này, người dùng thông thường đề xuất những phần mềm chuyên dùng làm mnghỉ ngơi, phát âm ghi với giữ chúng. Tuy nhiên thì cùng với những lập trình sẵn viên nhỏng chúng ta thì bằng phương pháp sử dụng sử dụng ngữ điệu C, họ cũng rất có thể dễ ợt tiến hành những làm việc tựa như với tệp tin điều đó.

Cũng giống hệt như mảng, chuỗi hay đổi thay thì file trong C là 1 nhiều loại dữ liệu vào cmùi hương trình, với một file Khi nhtràn vào chương trình cũng trở thành được giữ giữ tại một vùng như thế nào kia bên trên bộ nhớ lưu trữ máy tính xách tay. Tuy nhiên khác cùng với những nhiều loại dữ liệu không giống hoàn toàn có thể gán vào trong 1 biến để xử trí, thì nhằm thao tác với file, chúng ta phải tạo nên một thực thể của hình dáng cấu tạo FILE nhằm chứa lên tiếng của file đề xuất thao tác, kế tiếp sử dụng cho tới một bé trỏ để chỉ đến vị trí của thực thể FILE chứa thông tin file đó trên cỗ nhớ, qua đó thực hiện những làm việc cùng với file thông qua những hàm có sẵn, với những tác dụng cụ thể như đóng, msống, ghi tuyệt lưu file.

Do vậy hy vọng thao tác làm việc được với tệp tin, bạn cần nắm vững các kiến thức và kỹ năng cơ bản về bé trỏ và kiểu cấu trúc vào C. quý khách có thể tìm hiểu thêm các bài viết cụ thể về bé trỏ vào chăm đề Con trỏ trong C, cũng như về giao diện kết cấu trên chăm đề Kiểu cấu tạo vào C.

Xử lý file vào c

Quy trình cách xử trí tệp tin vào C vẫn tất cả các bước như sau:

*

Tạo con trỏ file

Mỗi file trong chương trình C được cách xử lý bên dưới dạng một thực thể của đẳng cấp cấu trúc FILE - một thứ hạng kết cấu được pháp luật sẵn vào ngôn từ C ship hàng cho việc xử trí file.

Về căn bạn dạng thì cách thực hiện giao diện cấu trúc này cũng như nlỗi các kiểu dáng cấu trúc mà lại chúng ta vẫn học vào chuyên đề Kiểu kết cấu vào C.

Để thao tác với tệp tin, trước tiên bọn họ cần phải tạo nên một con trỏ chỉ mang đến thực thể của thứ hạng cấu tạo FILE đựng thông báo của tệp tin kia bên trên bộ nhớ cùng với cú pháp sau đây:


Sau đó, bằng cách truy cập vào can dự này thông qua con trỏ, bọn họ bắt đầu rất có thể thực hiện các thao tác làm việc cùng với file.

Msinh hoạt file

thường thì Khi mnghỉ ngơi tệp tin vào máy tính xách tay, chúng ta có thể clichồng đúp loài chuột vào nó, hay những msống nó vào một công tác sệt định. Tuy nhiên Khi msống file trong công tác C, bọn họ rất cần phải thực hiện tới một số trong những hàm chuyên được sự dụng nhỏng fopen() giỏi fopen_s().

Việc mnghỉ ngơi tệp tin và gán tác động tệp tin vào nhỏ trỏ thường xuyên được thực hiện đôi khi. lấy một ví dụ chúng ta cũng có thể mở 1 tệp tin sample.txt bằng hàm fopen() và gán vào nhỏ trỏ file fp nhỏng sau:

Copy

fp = fopen("sample.txt", "r");

Chi huyết về phong thái mngơi nghỉ file vào C hãy coi tại bài:

Đọc dữ liệu từ bỏ file

Sau khi mlàm việc file, bọn họ đang rất có thể hiểu những tài liệu từ bỏ tệp tin vào trong lịch trình nhằm cách xử trí.

Có nhiều phương thức để hiểu tài liệu từ 1 tệp tin. lấy ví dụ như bạn cũng có thể phát âm từng mẫu của file, hoặc hiểu cục bộ ngôn từ tệp tin. Nội dung file rất có thể được gọi dưới dạng từng ký kết từ, dạng chuỗi, hoặc dưới dạng mảng nhằm hoàn toàn có thể tiện lợi xử trí trong lịch trình.

Trong C cũng cung cấp không ít hàm tất cả sẵn để hiểu file như là fgets() hay fgetc() ví dụ điển hình.

Dường như cùng với từng format file cơ mà bọn họ sẽ sở hữu các phương thức đọc file không giống nhau vào C. lấy ví dụ nlỗi thuộc thực hiện hàm fscanf() hoặc hàm sscanf() để gọi tệp tin, nhưng lại cú pháp phát âm file txt sẽ khác biện pháp hiểu file CSV ví dụ điển hình.

ví dụ như rõ ràng, sau khi msống tệp tin sample.txt sinh hoạt trên, chúng ta có thể đọc từng dòng file đó bằng hàm fgets như sau:

Copy

fp = fopen("sample.txt", "r");int N = 256lchar str;while(fgets(str, N , fp) != NULL) printf("%s", str);

Chi huyết về phong thái msống tệp tin vào C hãy coi trên bài:

Ghi file

Chúng ta rất có thể tạo một tệp tin mới rồi ghi văn bản vào tệp tin đó, Hay là mtại 1 file sẵn và ghi thêm văn bản vào đó.

Xem thêm: Chia Sẻ Cách Đấu Loa Thùng Mà Ai Cũng Thực Hiện Được, Chia Sẻ Cách Đấu Nhiều Loa Và Amply

Chúng ta rất có thể thực hiện các hàm gồm sẵn nhỏng fputc,fputs và fprintf để làm được vấn đề này.

ví dụ như ví dụ, sau khoản thời gian mngơi nghỉ file sample.txt làm việc trên, bạn có thể ghi dòng chữ “Hello Vietnam!” vào file kia bằng hàm fprintf nlỗi sau:

Copy

fp = fopen("sample.txt", "r");fprintf(fp, "%s", "Hello Vietnam!");

Chi máu về phong thái ghi file vào C hãy xem tại bài:

Đóng file

Sau lúc đang cách xử trí xong xuôi tệp tin trong lịch trình, bọn họ rất cần phải đóng góp tệp tin đó lại. Việc đóng góp file sẽ giúp xong xuôi phiên thao tác cùng với file, cùng giải pngóng bộ nhớ lưu trữ.

Nếu không đóng góp tệp tin thì file này vẫn trường thọ trên bộ nhớ lưu trữ, dẫn mang lại xẩy ra các sự nỗ lực về bộ nhớ trong lịch trình.

Để đóng góp một file trong C, họ đề xuất dùng mang đến hàm fclose() với cú pháp sau đây:


Trong số đó fp là bé trỏ dùng làm mnghỉ ngơi tệp tin.

Ví dụ cụ thể, sau khi msống file sample.txt sống bên trên và dứt những xử trí với tệp tin này, bạn có thể đóng tệp tin với giải pđợi bộ nhớ nlỗi sau:

Copy

fp = fopen("sample.txt", "r");fprintf(fp, "%s", "Hello Vietnam!");fclose(fp);

Xử lý lỗi Khi thao tác cùng với file vào C

Chúng ta có thể sử dụng hàm fopen() nhằm mở một file vào C, tuy nhiên vào quá trình msinh hoạt rất có thể chạm chán một trong những lỗi như thế nào kia, dẫn dến câu hỏi không phải thời điểm nào chúng ta cũng có thể mnghỉ ngơi tệp tin đó thành công xuất sắc.

Sẽ vớ gian nguy Lúc triển khai quá trình làm việc với cùng một tập tin cơ mà thiết yếu mlàm việc được, cho nên vì vậy cố vày để chương trình liên tục chạhệt như cũ thì họ rất cần được xây dựng các cách xử trí nhằm chương trình trường đoản cú giải pháp xử lý lỗi, với chạy công tác một phương pháp đúng đắn.

Nếu hàm fopen() chẳng thể msống file đúng đắn, nó đã trả về cực hiếm NULL. Chúng ta hoàn toàn có thể áp dụng điều này để phán đân oán lúc nào msinh sống file thua cuộc và xử lý lỗi Khi yêu cầu.

Giả sử các bạn sẽ mở 1 file sample.txt với gán vào nhỏ trỏ file fp nlỗi sau:

Copy

fp = fopen("sample.txt", "r");

khi đó, nếu như msinh hoạt tệp tin thua cuộc thì quý giá của fp đang trở nên NULL, với bạn cũng có thể viết giải pháp xử lý tránh lỗi nhỏng sau:

Copy

if (fp == NULL) //Nội dung cách xử lý Khi lỗi msinh hoạt file xảy ra

Về câu chữ giải pháp xử lý lỗi, thông thường bọn họ vẫn xuất một loại thông báo “Đã xẩy ra lỗi”, và tiếp đến buộc công tác đề xuất xong.

Và để buộc lịch trình phải chấm dứt, chúng ta hay sử dụng tới hàm exit() trong header tệp tin stdlib.h nhằm mục đích chống chế xong xuôi chương trình. Để áp dụng hàm này thì họ phải include header tệp tin vào đầu chương trình, với Điện thoại tư vấn hàm trên bất cứ địa chỉ như thế nào hy vọng xong xuôi lịch trình với cú pháp sau đây:


Trong đó status là trạng thái bay công tác Theo phong cách bình thường xuất xắc không bình thường. Đối số status hoàn toàn có thể hướng dẫn và chỉ định bởi một trong các hai cực hiếm là 0 cùng 1, khớp ứng cùng với bài toán ngừng bình thườngxong xuôi bất thường.

Ngoài ra, chúng ta cũng rất có thể hướng đẫn quý hiếm của status là EXIT_SUCCESS khớp ứng với 0, cùng EXIT_FAILURE tương xứng với 1.

lấy một ví dụ, các bí quyết viết sau số đông OK Khi thực hiện hàm exit() để chấm dứt công tác C.

Copy

// Kết thúc lịch trình bình thườngexit(0);exit(EXIT_SUCCESS);// Kết thúc lịch trình bất thườngexit(1);exit(EXIT_FAILURE);

Lưu ý nếu như khách hàng mngơi nghỉ file phía bên trong hàm main(), thì nạm do sử dụng hàm exit() thì bạn cũng có thể dùng lệnh return nlỗi sau để cách xử lý lỗi lúc mngơi nghỉ tệp tin vào C:

Copy

//Mnghỉ ngơi tệp tin bởi hàm fopen, và trả về NULL nếu như mlàm việc tệp tin thua cuộc.fp = fopen(fname, "r"); if(fp == NULL) printf("%s file not open! ", fname); return -1;

Ứng dụng các kiến thức trên, chúng ta cũng có thể viết xử lý lỗi khi mlàm việc tệp tin vào C nlỗi sau:

Copy

#include #include int main(void) //Knhị báo con trỏ file FILE * fp = NULL; fp = fopen("sample.txt", "r"); if (fp == NULL) printf("%s ", "Error opening file!"); exit(0); fp2 = fopen("sample2.txt", "r"); if (fp2 == NULL) printf("%s ", "Error opening file!"); exit(1); return 0;

Tổng kết

Trên phía trên Kiyoshi vẫn gợi ý các bạn về cách cách xử lý file trong c rồi. Để nắm vững văn bản bài học hơn, các bạn hãy thực hành thực tế viết lại những ví dụ của ngày từ bây giờ nhé.

Leave a Reply

Your email address will not be published. Required fields are marked *