Đọc file và ghi file trong lập trình C

Trở lại với lập trình C cơ bản, hôm nay mình muốn chia sẻ với mọi người cách đọc fileghi file. Đây cũng là phần mà các bạn học bất kỳ ngôn ngữ lập trình nào cũng phải bít đến.

Đọc file và ghi file là gì?

Đọc file: Là cách thức bạn dùng ngôn ngữ lập trình duyệt và lấy được nội dung của file đó ra, còn phần còn lại xử lý nội dung đó như thế nào là tùy bạn. hi

Ghi file: Là công việc bạn ghi một nội dung nào đó lưu vào file.

Nhiều khi học bài này xong tui cảm giác nó không có tác dụng gì cả, hii đó là suy nghĩ của các bạn mới học lập trình. Công việc mình lập trình cốt lõi là tương tác lấy dữ liệu, thu thập thông tin … lưu trữ trong cơ sở dữ liệu. Có đôi khi không cần thiết phải làm công việc đó, chỉ lưu tạm để xử lý cho qua công đoạn nào đó thì chỉ cần lưu vào file để sử dụng rồi hủy sẻ nhẹ nhàn hơn rất nhìu.

Bài ví dụ cho phần này mình sẽ ghi file trước sau đó đọc file vừa ghi. Chúng ta sẽ lưu thông tin mảng một chiều vào trong file. Bạn hình dung trước khi ghi phải có nội dung nên ta nhập mảng trước.

<!--
void nhap(int a[], int n)
{
	for(int i=1; i<=n; i++)
	{
		printf("Nhap pt a[%d]: ",i);
		scanf("%d", &a[i]);
	}
}
-->
Ghi file trong C

Sau khi nhập thì mảng a[] đã có giá trị lúc này chúng ta sẻ ghi vào trong file, giả sử là file bcdonline.txt.

<!--
void ghifile(int a[],int n)
{
	FILE *f;
	f=fopen("bcdonline.text","wt");
	fprintf(f,"%d",n);
	for(int i=1;i<=n;i++)
		fprintf(f,"%3d",a[i]);
	fclose(f);
}
-->

Giải thích:

  • Trước tiên để làm việc với file bạn cần khai báo biến con trỏ FILE bạn nhớ là phải viết hoa hoàn toàn từ này.
  • Sau đó bạn mở bằng lệnh bằng fopen(), trong đó tham số “wt” cho phép bạn ghi file.
  • fprintf(): sẽ giúp bạn ghi vào file như bạn khai báo, bạn hình dung thay vì hiện trên màn hình bằng printf() thì ở đây ta hiện lên file bằng cách fprintf().

Giả sử mình nhập n là 3, mảng là 9, 8, 7. Bạn vào thư mục gốc của file lưu sẻ thấy kết quả này khi mở file bcdonline.txt bằng notepad:

File text sau khi ghi file

File text sau khi ghi file

Đọc file trong C

Sau khi đã có file rồi thì chúng ta tiến hành đọc file lên và xử lý. Công việc bạn code như sau:

<!--
void docfile(int a[],int &n)
{
	FILE *f;
	f=fopen("bcdonline.text","rt");
	fscanf(f,"%d",&n);
	for(int i=1;i<=n;i++)
		fscanf(f,"%d",&a[i]);
	fclose(f);
}
-->

Giải thích:

  • Cũng như nói ở trên có các phần xử lý đặt trưng khi tương tác với FILE.
  • Tham số “rt” giúp bạn đọc dữ liệu từ file
  • Đọc file với lệnh fscanf();
  • Sau đó đóng file fclose();

Để kiểm tra bạn đã đọc được file hay chưa chúng ta tiến hành xử lý dữ liệu đã đọc được bằng cách xuất nó ra màn hình.

<!--
void xuat(int a[],int n)
{
	printf("\nKet Qua Doc File:\n\n");
	for(int i=1;i<=n;i++)
		printf("%3d",a[i]);

}
-->

Ở đây %3d để cho các chữ số sẻ chiếm 3 khoảng không gian và được canh lề sẽ đẹp hơn.

Kết quả cả quá trình đọc file và ghi file của chúng ta sẽ chạy lên như sau.

Demo ghi file và đọc file trong C

Demo ghi file và đọc file trong C

Kết luận: Ok, vậy là xong phần ghi và đọc file trong C, đây chỉ là giới thiệu cơ bản cho các bạn, phát triển lên thêm nha! Chúc thành công!

VN:F [1.9.22_1171]
Rating: 9.2/10 (37 votes cast)
Đọc file và ghi file trong lập trình C, 9.2 out of 10 based on 37 ratings
Share This