Bài tập đọc ghi file trong 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 file và ghi 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. Show Đọ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. 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. 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: 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:
Giải thích:
Để 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.
Ở đâ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. 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!
Bài tập này chúng ta sẽ sử dụng các kiến thức từ ngôn ngữ lập trình C như: cách nhập xuất văn bản trong ngôn ngữ lập trình C, cách đọc và ghi file trong C. Yêu cầu của bài tập đưa ra cho chúng ta là nhập dữ liệu từ bàn phím ghi vào file và lấy dữ liệu từ file in ra màn hình. 2. Lời giảiĐể thực hiện bài toán này chúng ta cần có kiến thức cơ bản về ngôn ngữ lập trình C, các cách nhập xuất chuỗi cơ bản trong C , cách đọc và ghi file trong C. Để đọc và ghi file trong C chúng ta cần phải sử dụng các hàm nằm trong thư viện stdlid.h. Bạn có thể tìm hiểu về đọc ghi file nhiều hơn từ chương trình học của chúng tôi Tại Đây Các bước thực hiện yêu cầu của bài tập nhập dữ liệu từ bàn phím ghi vào file bằng ngôn ngữ lập trình C như sau: Bước 1: Khai báo một con trỏ có kiểu file FILE *fp. Bước 2: Mở file ở chế độ w (chỉ ghi) fp = fopen(“laptrinhtudau.txt”,”w”). Bước 3: Dùng if với điều kiện fp==NULL thỏa mãn thì báo lỗi. Bước 4: Khai báo char a[100] chỗi văn bản tối đa 100 ký tự và nhập dữ liệu từ bàn phím vào cho a. Bước 5: Ghi file fprintf(fp,”%s”,a) rồi đóng file lại fclose(fp). Bước 6: Chạy chương trình. Chương trình giải bài tập nhập dữ liệu từ bàn phím ghi vào file bằng ngôn ngữ lập trình C như sau: #includeVí dụ tôi nhập vào văn bản: laptrinhtudau.com Kết quả: Nhap van ban:laptrinhtudau.comCác bước thực hiện yêu cầu của bài tập lấy dữ liệu từ file in ra màn hình bằng ngôn ngữ lập trình C như sau: Bước 1: Khai báo một con trỏ có kiểu file FILE *fp. Bước 2: Mở file ở chế độ r (chỉ đọc) fp = fopen(“laptrinhtudau.txt”,”r”). Bước 3: Dùng if với điều kiện fp==NULL thỏa mãn thì báo lỗi. Bước 4: Khai báo char a[100] chỗi văn bản tối đa 100 ký tự.. Bước 5: Lấy dữ liệu từ file gán vào a như sau: fscanf(fp,”%s”,&a). Bước 6: In a ra màn hình và đóng file. Bước 7: Chạy chương trình. Chương trình giải bài tập lấy dữ liệu từ file in ra màn hình bằng ngôn ngữ lập trình C như sau: #includeKết quả: 3. Tổng kếtSau khi làm bài tập này các bạn cần phải hiểu và nắm được những kiến thức sau:
Trong bài viết này, mình sẽ hướng dẫn bạn cách để làm việc với file sử dụng ngôn ngữ lập trình C. Một số hàm đọc ghi file trong C cơ bản như fprintf(), fscanf()….chúng ta cùng bắt đầu nhé. Đọc ghi file để làm gì?
Có những loại file phổ biến nào?Trước khi bạn làm việc với file, bạn nên biết về 2 kiểu file khác nhau sau đây:
File văn bản – text filesFile văn bản là file thường có đuôi là .txt. Những file này bạn có thể dễ dàng tạo ra bằng cách dùng các text editer thông dụng như Notepad, Notepad++, Sublime Text,… Khi bạn mở các file này bằng các text editer nói trên, bạn sẽ thấy được văn bản ngay và có thể dễ dàng thao tác sửa, xóa, thêm nội dung của file này. Kiểu file này thuận tiện cho chúng ta trong việc sử dụng hàng ngày, nhưng nó sẽ kém bảo mật và cần nhiều bộ nhớ để lưu trữ hơn. File nhị phân – Binary filesFile nhị phân thường có đuôi mở rộng là .bin Thay vì lưu trữ dưới dạng văn bản thuần thúy, các file này được lưu dưới dạng nhị phân, chỉ bao gồm các số 0 và 1. Bạn cũng sẽ thấy các con số này nếu cố mở nó bằng 1 text editer kể trên. Loại file này giúp lưu trữ được dữ liệu với kích thước lớn hơn, không thể đọc bằng các text editer thông thường và thông tin lưu trữ ở loại file được bảo mật hơn so với file văn bản. Các thao tác với file trong CKhi làm việc với file, bạn cần khai báo 1 con trỏ kiểu FILE. Mở/Đóng fileĐể mở file thì ta sử dụng hàm fopen() nằm trong thư viện stdio.h. Cú pháp của nó như sau: f = fopen("fileopen","mode"); Ví dụ 1: f = fopen("E:\\dayso.txt","w"); Ví dụ 2: f = fopen("E:\\khachhang.bin","rb"); Tham số thứ nhất là đường dẫn file, tham số thứ 2 là chế độ mở file mode. Các tham số của “mode”
Khi làm việc với tập tin hoàn tất, kể cả là file nhị phân hay file văn bản. Bạn cần đóng file sau khi làm việc với nó xong. Việc đóng file đang mở có thể được thực hiện bằng cách dùng hàm fclose(). fclose(fptr); //Con trỏ FILE trỏ tới file cần được đóng. Đọc/Ghi file văn bản trong CĐể làm việc với file văn bản, chúng ta sẽ sử dụng fprintf() và fscanf(), nó cũng làm việc tương tự như printf() và scanf() nhưng thay vì đọc/ghi trên màn hình console lúc này sẽ đọc ghi từ file văn bản. VD1. Ghi file sử dụng fprintf() #include Chương trình nhận số num từ bàn phím và ghi vào file văn bản dayso.txt. Sau khi bạn chạy chương trình này, bạn sẽ thấy file văn bản dayso.txt được tạo mới trong ổ D trên máy tính. Khi mở file này lên, sẽ thấy số mà bạn vừa nhập cho biến num kia. Ví dụ 2: Đọc dữ liệu từ file text sử dụng fscanf() #include Chương trình này sẽ đọc giá trị số được lưu trong file dayso.txt mà chương trình ở VD1 vừa tạo ra và in lên màn hình. Đọc/Ghi file nhị phân trong CCác hàm fread() và fwrite() trong C được sử dụng để đọc và ghi file trong C ở dạng nhị phân. Ví dụ 3: Ghi file nhị phân #include Ghi vào file nhị phân, cần sử dụng hàm fwrite (). Hàm này có bốn tham số:
Ví dụ 4: Đọc file nhị phân #include Đọc file nhị phân thì ta sử dụng hàm fread(), hàm này cũng có bốn tham số như hàm fwrite.
|