TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TIN HỌC ĐẠI CƯƠNG Bài 11. Tệp tin Nội dung 1. Khái niệm cơ bản 2. Các thao tá

Tài liệu tương tự
Slide 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TIN HỌC ĐẠI CƯƠNG Bài 9. Vào ra dữ liệu trong C Các lệnh vào ra dữ liệu C cun

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TIN HỌC ĐẠI CƯƠNG Bài 13. Hàm Nội dung 1. Khái niệm hàm 2. Khai báo và sử dụn

Tìm hiểu ngôn ngữ lập trình Visual Basic Tìm hiểu ngôn ngữ lập trình Visual Basic Bởi: Khuyet Danh Tìm hiểu ngôn ngữ lập trình Visual Basic Tổng quan

Chương 1:

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TIN HỌC ĐẠI CƯƠNG Bài 11. Mảng và xâu kí tự Nội dung 1. Mảng 2. Xâu kí tự 2 1

TRƯỜnG ĐẠI HỌC BÁCH KHOA HÀ nội VIỆn CÔnG nghệ THÔnG TIn VÀ TRUYỀn THÔnG TIN HỌC ĐẠI CƯƠNG Bài 10. Các cấu trúc lập trình trong C Nội dung 1. Cấu trúc

PowerPoint Template

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TIN HỌC ĐẠI CƯƠNG Bài 5. Kiểu dữ liệu và biểu thức trong C Nội dung 1. Các ki

ĐỀ THI GIỮA KỲ MÔN: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Đề số 1. Thời gian 120 phút (Sinh viên KHÔNG được sử dụng tài liệu hay máy tính ) Xây dựng lớp STRING và

Tài liệu Hướng dẫn sử dụng

Microsoft Word - su_dung_sqlite_voi_php.docx

Bài 7. Con trỏ Mục tiêu: 1. Luyện tập sử dụng con trỏ và địa chỉ của các biến 2. Sử dụng con trỏ khi thao tác với mảng. Giới hạn: không dùng các thư v

HỘI THI TIN HỌC TRẺ TỈNH AN GIANG ĐỀ CHÍNH THỨC ĐỀ THI LÝ THUYẾT BẢNG A - KHỐI TIỂU HỌC Khóa ngày: Thời gian : 20 phút (không kể thời gian

BỘ GIÁO DỤC VÀ ĐÀO TẠO

Những cơ sở của ngôn ngữ C# Những cơ sở của ngôn ngữ C# Bởi: phamvanviet truonglapvy Trong chương này sẽ trình bày về hệ thống kiểu trong C#; phân biệ

Microsoft Word - danh-sach-lien-ket-doi-trong-c.docx

Hệ điều hành Bài tập tuần 6 1 Quản lý bộ nhớ Bài tập 1 : Xem thông tin bộ nhớ 1. Sử dụng top, ps đọc thông tin về kích thước vùng nhớ của 1 tiến trình

UART0

ĐIỂM THI KHỐI A ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG ầ ươ ữ ặ ố ả ườ ườ ườ ễ ướ ườ ườ ầ ườ ễ ữ ấ ồ ấ ứ ấ ố ấ ễ ấ ễ ả ấ ễ ướ ấ ễ ấ ễ ấ ễ ấ ễ ấ ấ ồ ố ấ ạ ấ ầ ấ ầ ấ

NGÔN NGƯ LÂ P TRIǸH Biên tập bởi: nguyenvanlinh

TẬP ĐOÀN VIỄN THÔNG QUÂN ĐỘI VIETTEL TRUNG TÂM CÔNG NGHỆ THÔNG TIN 1 HƯỚNG DẪN SỬ DỤNG HỆ THỐNG QUẢN LÝ VÀ ĐIỀU HÀNH VĂN BẢN ĐIỆN TỬ Đối tượng Văn thư

Slide 1

Công ty CP công nghệ thẻ NACENCOMM HÓA ĐƠN ĐIỆN TỬ CA2 CÔNG TY CỔ PHẦN CÔNG NGHỆ THẺ NACENCOMM TÀI LIỆU NGHIỆP VỤ HÓA ĐƠN ĐIỆN TỬ CA2 Hà Nội 12/2017 1

Trường ĐHBK Hà Nội Khoa Điện Bộ môn Điều khiển Tự động Tài liệu hướng dẫn thực hành: KĨ THUẬT LẬP TRÌNH C/C++ Bài 1: Lập trình cơ sở 1 Mục đích bài th

Chương trình dịch

OpenStax-CNX module: m Giới thiệu về ngôn ngữ C và môi trường turbo C 3.0 ThS. Nguyễn Văn Linh This work is produced by OpenStax-CNX and licens

Danh sách tuyến tính kiểu hàng đợi Danh sách tuyến tính kiểu hàng đợi Bởi: Khoa CNTT ĐHSP KT Hưng Yên ĐỊNH NGHĨA Hàng đợi là một vật chứa (container)

Lập trình và ngôn ngữ lập trình

Chương trình dịch

Hàm và lớp template trong Lập trình hướng đối tượng Hàm và lớp template trong Lập trình hướng đối tượng Bởi: unknown Trong phần này, chúng ta tìm hiểu

Slide 1

Chương II - KIẾN TRÚC HỆ ĐIỀU HÀNH

Các biến và các kiểu dữ liệu trong JavaScript Các biến và các kiểu dữ liệu trong JavaScript Bởi: Hà Nội Aptech Các biến (Variables) Biến là một tham c

Câu lệnh (statement) Câu lệnh (statement) Bởi: Khuyet Danh Trong C# một chỉ dẫn lập trình đầy đủ được gọi là câu lệnh. Chương trình bao gồm nhiều câu

VẠCH MẶT NHÂN CHỨNG GIAN DỐI

BỘ GIAO THÔNG VẬN TẢI TRƢỜNG ĐẠI HỌC HÀNG HẢI BỘ MÔN: KHOA HO C MA Y TI NH KHOA: CÔNG NGHỆ THÔNG TIN BÀI GIẢNG KỸ THUẬT LẬP TRÌNH C TÊN HỌC PHẦN : KỸ

'Tôi vẫn theo đến cùng vụ Đỗ Đăng Dư' 3 tháng Chia sẻ Một luật sư vừa bị 'hành hung' trong khi đi làm việc về vụ vị thành niên Đỗ Đăng Dư chết

CÔNG BÁO/Số /Ngày PHẦN VĂN BẢN QUY PHẠM PHÁP LUẬT CHÍNH PHỦ CHÍNH PHỦ Số: 92/2011/NĐ-CP CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc l

ĐỀ cương chương trình đẠi hỌc

Con trỏ và cấu trúc động Con trỏ và cấu trúc động Bởi: Thu Nguyen CON TRỎ VÀ CẤU TRÚC ĐỘNG 1. Khái niệm: Khi khai báo một biến, dù là biến đơn hay biế

Bài tập chương 1 ngôn ngữ lập trình visual basic Bài tập chương 1 ngôn ngữ lập trình visual basic Bởi: Khoa CNTT ĐHSP KT Hưng Yên MỤC TIÊU: SAU KHI HO

Animation, Modules 6 - Hoạt hình, tách file

Microsoft Word - cau-truc-du-lieu-hang-doi.docx

Microsoft Word - TNC VIETNAM - Huong dan tong quat PM.doc

Template and Exception Template and Exception Bởi: Thanh Hiền Vũ TEMPLATE Trong phần này, chúng ta tìm hiểu về một trong các đặc tính còn lại của C++,

Chương trình dịch

Suy nghĩ về thời gian và giá trị của thời gian đối với cuộc sống con người

Microsoft Word - Tom tat Luan van - Nguyen Thi Ngoc Quynh.doc

Sổ tay hướng dẫn Phương pháp đánh giá hiện trạng bờ biển bằng ghi hình video (SVAM)

Hướng dẫn Bắt đầu Nhanh Microsoft Publisher 2013 trông khác với các phiên bản trước, vì vậy chúng tôi tạo ra hướng dẫn này để giúp bạn dê dàng nắm bắt

Kiểu dữ liệu văn bản Kiểu dữ liệu văn bản Bởi: PGS. TS. NGƯT Phạm Văn Huấn Ngoài những dữ liệu số như các số nguyên, số thực, máy tính còn có thể lưu

Microsoft Word - bo_tien_xu_ly_trong_c.docx

Chiêu trò trên Sông Mê Công: THỦY ĐIỆN ĐẬP DÂNG Những dự án thủy điện được xếp vào loại thủy điện đập dâng gợi lên hình ảnh về những con sông không bị

KIỂM TOÁN NHÀ NƯỚC CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc Số: 1173/QĐ-KTNN Hà Nội, ngày 27 tháng 7 nă

MÁY TOÀN ĐẠC ĐIỆN TỬ LEICA TCR1101

Nhúng mã-cách khai báo biến Nhúng mã-cách khai báo biến Bởi: Khoa CNTT ĐHSP KT Hưng Yên Nhúng mã javascript trong trang HTML Bạn có thể nhúng JavaScri

HƯỚNG DẪN SỬ DỤNG CỔNG THÔNG TIN CÁN BỘ ( Cổng thông tin cán bộ là phần mềm nằm trong Hệ thống thông tin tổng thể của Trườ

Ch­ng I

HƯỚNG DẪN SỬ DỤNG PHẦN MỀM KBHXH NỘI DUNG I. Giới thiệu... 2 II. Hướng dẫn sử dụng phần mềm kê khai BHXH Nhập thông tin Doanh nghiệp Q

Microsoft Word - doc_ghi_file_trong_nodejs.docx

http:

Lớp đối tượng String Lớp đối tượng String Bởi: Khuyet Danh Ngôn ngữ C# hỗ trợ khá đầy đủ các chức năng của kiểu chuỗi mà chúng ta có thể thấy được ở c

Lớp và đối tượng-các hàm và các lớp friend Lớp và đối tượng-các hàm và các lớp friend Bởi: Thanh Hiền Vũ CÁC HÀM VÀ CÁC LỚP friend Một hàm friend của

Cây nhị phân tìm kiếm Cây nhị phân tìm kiếm Bởi: Trần Hạnh Nhi CÂY NHỊ PHÂN TÌM KIẾM Định nghĩa: Cây nhị phân tìm kiếm (CNPTK) là cây nhị phân trong đ

Ma-thi-ơ 6:5 - 8

Phân tích Nhân vật Hoạn Thư trong Đoạn trường tân thanh của Nguyễn Du

Thiết kế hướng tới Phát triển bền vững

Kiểm soát truy suất Kiểm soát truy suất Bởi: Khoa CNTT ĐHSP KT Hưng Yên Khái niệm Bảo mật thực chất là kiểm soát truy xuất [1]. Mục đích của bảo mật m

Chöông 1 (tt.)

100 CÂU TRẮC NGHIỆM TIN HỌC 6 I. CÂU HỎI TRẮC NGHIỆM Câu 1: Để viết đơn đăng kí tham gia câu lạc bộ, em nên sử dụng phần mềm nào dưới đây? A. Chương t

MÁY ẢNH SỐ Hướng Dẫn Menu Tài liệu hướng dẫn này cung cấp chi tiết về các tùy chọn menu và cung cấp thông tin về các phụ kiện và việc kết nối máy ảnh

Bộ THÔNG TIN VÀ TRUYỀN THÔNG CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc số:0? /2019/TT-BTTTT Hà Nội, ngày/ị(> tháng $ năm 2019 THÔ

GV: Trần Thiên Đức - V2011 HƯỚNG DẪN THÍ NGHIỆM BÀI 5 1. Tên bài: Khảo sát hiện tượng quang điện ngoài Xác định hằng số

Loi vong lap lap vo tan - Worksheet_Change

Làm thế nào để chinh phục đối phương Tako Kagayaki Ebook miễn phí tại :

Lkgjlfjq?etyuiiofjkfjlsfjkslddghdgertt

Slide 1

SỞ GDĐT TỈNH BÌNH DƯƠNG XÂY DỰNG VĂN HÓA PHÁP LÝ, ỨNG XỬ VĂN MINH Số 08 - Thứ Hai,

Phương pháp biểu diễn thuật toán Phương pháp biểu diễn thuật toán Bởi: Khoa CNTT ĐHSP KT Hưng Yên Khi chứng minh hoặc giải một bài toán trong toán học

05-quanlytientrinh.pptx

Off Book Funds Training

Microsoft Word - cau-truc-du-lieu-danh-sach-lien-ket.docx

Cây và cây nhị phân Cây và cây nhị phân Bởi: Trần Hạnh Nhi CẤU TRÚC CÂY Định nghĩa 1: cây là một tập hợp T các phần tử (gọi là nút của cây) trong đó c

Chapter 9

Kiến trúc tập lệnh1

QUỐC HỘI

Trung Tâm Gia Sư Tài Năng Việt Đề Số 1 Câu 1: Sau khi thực hiện đoạn chương trình sau, giá trị của biến S bằng bao nhiêu: S

Chia sẽ ebook : Tham gia cộng đồng chia sẽ sách : Fanpage : Cộng đồng Google

Layout 1

Lương Sĩ Hằng Tha Thứ Và Thương Yêu

Microsoft Word - L?P TRÌNH T?NG ÐÀI SIEMENS HIPATH 1120, HIPATH 1150, HIPATH 1190

50 n¨m h¶i qu©n nh©n d©n viÖt nam anh hïng

Hãy để mọi chuyện đơn giản - Tolly Burkan

BẢO MẬT HỆ THỐNG THÔNG TIN

Thủ tục tố tụng tại phiên tòa hình sự sơ thẩm Nguyễn Quỳnh Trang Khoa Luật Luận văn ThS ngành: Luật Hình sự; Mã số: Người hướng dẫn: TS. Nguy

Microsoft Word - vanhoabandia (1)

Microsoft Word _TranNgocVuong

Bản ghi:

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TIN HỌC ĐẠI CƯƠNG Bài 11. Tệp tin Nội dung 1. Khái niệm cơ bản 2. Các thao tác với tệp tin 3. Truy nhập tệp văn bản 4. Truy nhập trên tệp nhị phân 2 1

Nội dung 1. Khái niệm cơ bản 2. Các thao tác với tệp tin 3. Truy nhập tệp văn bản 4. Truy nhập tệp nhị phân 3 1. Khái niệm cơ bản Tệp tin là tập hợp các byte liên tục được lưu trữ và được gán tên gọi. Biến tập tin: là một biến thuộc kiểu dữ liệu tập tin dùng để đại diện cho một tập tin. Con trỏ tập tin: con trỏ chỉ đến vị trí của tập tin mà tại đó việc đọc/ghi thông tin sẽ xảy ra Sau khi đọc/ghi xong dữ liệu, con trỏ sẽ chuyển dịch thêm một phần tử về phía cuối tập tin Ký tự kết thúc tệp tin (EOF End Of File): ký tự cuối cùng báo kết thúc tệp tin 4 2

Phân loại Khi xử lý tệp tin chương trình có thể xem xét chuỗi byte với cách nhìn khác nhau, có những ứng xử khác nhau với dữ liệu Tệp văn bản: Dữ liệu của tập tin là các chuỗi ký tự được tổ chức thành dòng Mỗi dòng được kết thúc bằng ký tự xuống dòng \n Ký tự EOF: mã ASCII là 26 Tệp nhị phân: Dữ liệu tổ chức thành dãy byte liên tục Ký tẹ EOF: byte có giá trị -1 5 Nội dung 1. Khái niệm cơ bản 2. Các thao tác với tệp tin 3. Truy nhập tệp văn bản 4. Truy nhập tệp nhị phân 6 3

2. Các thao tác với tệp tin Trong C truy nhập tệp phải thông qua con trỏ tệp. Các hàm thao tác với tệp tin được khai báo trong tệp tiêu đề stdio.h Một biến con trỏ tệp (file pointer) được khai báo như sau: FILE *tencontrotep; Ví dụ FILE * f1, * f2; 7 Mở tệp tin Muốn làm việc với tệp trước hết ta phải mở tệp. Để mở một tệp ta dùng hàm fopen() tencontrotep = fopen(tentep,chedomo); Trong đó: tentep là xâu ký tự chứa đường dẫn tới tệp tin chedomo là xây ký tự chỉ định chế độ mở tệp khi thao tác với tệp fopen() trả về giá trị NULL nếu có lỗi mở tệp Ví dụ: FILE *fp; fp = fopen ( C:\TDC\test.dat, rb ); 8 4

Chế độ mở tệp Chế độ r w a r+ w+ a+ Mục đích sử dụng Mở tệp đã có để đọc, không được ghi. Nếu tệp không tồn tại, hàm fopen() sẽ trả lại trạng thái lỗi. Mở tệp đã có để đọc, không được ghi. Nếu tệp không tồn tại, hàm fopen() sẽ trả lại trạng thái lỗi. Mở tệp để ghi thêm dữ liệu vào cuối tệp. Nếu tệp chưa tồn tại, nó sẽ được tạo mới Mở tệp để vừa đọc vừa ghi. Nếu tệp chưa tồn tại thì sẽ báo lỗi Mở tệp để vừa đọc vừa ghi. Nếu tệp đã tồn tại, nội dung của nó sẽ bị xóa hết. Mở tệp để ghi thêm dữ liệu vào cuối tệp. Tệp mới sẽ được tạo nếu nó chưa tồn tại. 9 Bản chất của tệp Khi chỉ định chế độ mở tệp, ta cũng có thể chỉ ra bản chất của tệp Ký hiệu b t Tệp nhị phân Tệp văn bản Bản chất của tệp Khi mở tệp, nếu không chỉ rõ bản chất dữ liệu của tệp thì C sẽ ngầm hiểu đó là tệp văn bản. 10 5

Ví dụ Mở một tệp văn bản để đọc fp = fopen( diem.txt, rt ); Mở một tệp văn bản để ghi đè fp = fopen( diem.txt, wt ); Mở một tên văn bản để vừa đọc vừa ghi thêm fp = fopen( C:\TDC\diem.txt, a+t ); Mở một tệp nhị phân để vừa đọc vừa ghi fp = fopen( D:\VD\diem.dat, r+b ); 11 Đóng tệp tin Đóng tệp là đảm bảo những thay đổi dữ liệu được lưu lại trên tệp. Để đóng tệp ta dùng hàm fclose() có cú pháp khai báo fclose(tencontrotep); Kết quả trả về: 0 nếu đóng tệp thành công Ngược lại nếu có lỗi 12 6

Các thao tác khác int feof(file *fp) Kiểm tra vị trí con trỏ đã ở cuối tệp chưa Trả về = 0 nếu sai, 0 nếu đúng void rewind(file *fp) Di chuyển con trỏ vị trí về đầu tệp 13 Nội dung 1. Khái niệm cơ bản 2. Các thao tác với tệp tin 3. Truy nhập tệp văn bản 4. Truy nhập tệp nhị phân 14 7

3. Truy nhập tệp văn bản int fscanf(file *fp, char[] xaudinhdang, danh_sach_dia_chi) Đọc dữ liệu từ tệp Sử dụng tương tự scanf() Trả về số lượng giá trị đọc được theo xâu định dạng nếu hàm thực hiện thành công, ngược lại trả về giá trị nhỏ hơn Hạn chế: Cần biết định dạng dữ liệu trong tệp int fflush(file *fp) Xóa bộ đệm đọc tệp Nên thực hiện trước khi dùng hàm fscanf() 15 3. Truy nhập tệp văn bản(tiếp) char* fgets(char[] str, int n, FILE* fp) Đọc tối đa n-1 ký tự, hoặc khi gặp dấu xuống dòng trong tệp fp và gán cho str Tự động thêm ký tự \n Trả về con trỏ tới xâu str nếu thành công, ngược lại trả về NULL int fgetc(file *fp) Đọc 1 ký tự trên tệp Trả về mã ASCII của ký tự nếu thành công, ngược lại trả về EOF 16 8

3. Truy nhập tệp văn bản(tiếp) int fprintf(file *fp, char[] xaudinhdang, danh_sach_tham_so) Ghi dữ liệu lên tệp Tương tự printf() Trả về số byte đã ghi nếu thành công, ngược lại trả về số < 0 int fputs(char[] str, FILE *fp) Ghi một xâu lên tệp Trả về mã ASCII của ký tự cuối cùng đã ghi nếu thành công, ngược lại trả về số < 0 17 3. Truy nhập tệp văn bản(tiếp) int fputc(int ch, FILE *fp) Ghi ký tự lên tệp Trả về mã ASCII của ký tự đã ghi nếu thành công, ngược lại trả về EOF 18 9

Ví dụ - Mở và ghi lên tệp văn bản fp = fopen("diem.txt","w"); if(fp == NULL){ printf("error: Could not open file."); return 0; for(i = 0; i < sosv; i++){ nbytes = fprintf(fp,"%-4d%-25s%-4.1f%-4.1f\n", bangdiem[i].stt, bangdiem[i].hoten, bangdiem[i].diemqt, bangdiem[i].diemck); if (nbytes < 0){ printf("error: Could not write to file."); break; fclose(fp); 19 Ví dụ - Mở và đọc dữ liệu trên tệp văn bản fp = fopen("diem.txt","r"); if(fp == NULL){ printf("error: Could not open file."); return 0; char line[1024]; while (!feof(fp)) if(fgets(line, 1024, fp)!= NULL) printf("%s", line); fclose(fp) 20 10

Nội dung 1. Khái niệm cơ bản 2. Các thao tác với tệp tin 3. Truy nhập tệp văn bản 4. Truy nhập tệp nhị phân 21 4. Truy nhập tệp nhị phân int fread(void *ptr, int smem, int nmems, FILE *fp) Đọc dữ liệu trên tệp ptr trỏ tới vùng nhớ chứa dữ liệu đọc được. Vùng nhớ phải có kích thước >= smem*nmems smem: kích thước của 1 phần tử nmems: số phần tử muốn đọc Trả về tổng số phần tử đọc được. Nếu giá trị trả về nhỏ hơn nmems thì có lỗi hoặc gặp EOF 22 11

4. Truy nhập tệp nhị phân int fwrite(void *ptr, int smem, int nmems, FILE *fp) Đọc dữ liệu trên tệp ptr trỏ tới vùng nhớ chứa dữ liệu cần ghi smem: kích thước của 1 phần tử muốn ghi nmems: số phần tử muốn ghi Trả về tổng số phần tử ghi được. Nếu giá trị trả về nhỏ hơn nmems thì có lỗi 23 Ví dụ - Mở và ghi lên tệp nhị phân fp = fopen("diem.dat","wb"); if(fp == NULL){ printf("error: Could not open file."); return 0; for (i = 0; i < sosv; i++){ ret = fwrite(&bangdiem[i], sizeof(diemsv), 1, fp); if (ret < 1){ printf("error: Could not write to file."); break; fclose(fp); 24 12

Ví dụ - Mở và dữ liệu trên tệp nhị phân fp = fopen("diem.dat","rb"); if(fp == NULL){ printf("error: Could not open file."); return 0; DiemSV ketqua[max]; i = 0; sosv = 0; while (!feof(fp)){ if(fread(&ketqua[i], sizeof(diemsv), 1, fp) < 1) break; i++; sosv++; fclose(fp); 25 Thảo luận 26 13