Danh mục

Tập tin dữ liệu

Số trang: 56      Loại file: ppt      Dung lượng: 1.36 MB      Lượt xem: 9      Lượt tải: 0    
Jamona

Xem trước 4 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Tập tin là một tập hợp thông tin được đặt tên và được chứa trong các thiết bị lưu trữ ngoài của máy tính như: đĩa cứng, đĩa mềm, CD, DVD,…Một tập tin luôn luôn kết thúc bằng 1 ký tự đặc biệt ký hiệu là EOF (End Of File)Tập tin gắn liền với bộ nhớ đệm (buffer) trong đó các thông tin dữ liệu được lưu trữ tạm thời trước khi có sự trung chuyển giữa bộ nhớ máy tính và tập tin...
Nội dung trích xuất từ tài liệu:
Tập tin dữ liệuChương 9Nộidungtrìnhbày Giớithiệutậptin1.2. Cácbướcxửlýtậptin3. Đọc–Ghitậptinvănbản(Textfile)4. Đọc–Ghitậptinnhịphân(Binaryfile) 21.Giớithiệutậptin1.Gi Tập tin là một tập hợp thông tin được đặt tên và đượcchứatrongcácthiếtbịlưutrữngoàicủamáy tínhnhư:đĩacứng,đĩamềm,CD,DVD,… Mộttậptinluônluônkếtthúcbằng1kýtựđặcbiệt kýhiệulàEOF(EndOfFile) Tậptin gắnliềnvớibộnhớ đệm(buffer)trong đó cácthôngtindữliệuđượclưutrữtạmthờitrướckhi có sự trung chuyển giữa bộ nhớ máy tính và tập tin 31.Giớithiệutậptin1.Gi Đểtạokếtnốivớimộttậptin,dùnglệnhfopen ◦ Khi tập tin được mở, thông tin có thể được trao đổi giữatậptinđóvớichươngtrình Đểngắtkếtnốivớimộttậptin,dùnglệnhfclose ◦ Nếuđóngmộttậptinđangmởthìnộidungcủavùng đệmtươngứngđượcghirathiếtbịngoài ◦ Quá trình này được gọi là flushing và đảm bảo là khôngcóthôngtinbịđểlạitrongvùngđệm 41.Giớithiệutậptin:Minhhọa1.Gi fclose a a b c c Vùng đệm (buffer) Tập tinDữ liệu đang xử lý 51.Giớithiệutậptin1.Gi Có2loạitậptin: ◦ Tậptinvănbản ◦ Tậptinnhịphân Tập tin văn bản Tập tin nhị phânLà tập tin mà các phần tử của Là tập tin mà các phần tử lànó là các ký tự các số nhị phân biểu diễn thông tinMỗi lần đọc hay ghi là đọchay ghi một ký tự Việc đọc hay ghi tuỳ thuộc vào người lập trìnhKhi xử lý ký tự chuyển dòngLF được chuyển thành 2 kýtự CR và LF 6Nộidungtrìnhbày Giớithiệutậptin1.2. Cácbướcxửlýtậptin3. Đọc–Ghitậptinvănbản(Textfile)4. Đọc–Ghitậptinnhịphân(Binaryfile) 7Cácbướcxửlýtậptin Có4bướccơbảnđểxửlýtậptin 1. Khaibáobiếntậptin 2. Mởtậptinđểghihoặcđọc 3. Ghihoặcđọctậptin(xửlýdữliệu) 4. Đóngtậptin 8Cácbướcxửlýtậptin:Bước1 Có4bướccơbảnđểxửlýtậptin 1. Khaibáobiếntậptin: FILE *Tên_con_trỏ; ◦ Vídụ: FILE*fp; 9Cácbướcxửlýtậptin:Bước2 Có4bướccơbảnđểxửlýtậptin 2. Mởtậptin:fopen FILE* fopen( const char* filename, const char* mode );  filename:chứađườngdẫnvàtêncủatậptincầnmở  mode:chobiếtmởtậptintheokiểunào r(đọc)  w(ghi)  a(ghitiếpvàocuốitậptin)  r+(đọcvàghi)  w+(đọcvàghi,nhưngghiđèlênnộidungcũcủatậptin)  a+(đọcvàghivàocuốitậptin)  rb,wb,ab,rb+,r+b,wb+,w+b,ab+,a+bgiốngnhưcác  trườnghợptrênnhưngchỉdùngchotậptinnhịphân 10Cácbướcxửlýtậptin:Vídụ Vídụ:Mởtậptin FILE*fp; fp=fopen(d:\\test.txt,w); if(fp==NULL) { coutCácbướcxửlýtậptin:Bước3 Có4bướccơbảnđểxửlýtậptin 3. Đọchoặcghitậptin  Mỗikiểutậptincócáchđọcvàghikhácnhau ◦ Chúý:  Khiđọcdữliệutừ1tậptin,phảikiểmtraxemcóphảilà cuốitậptinhaychưa,vìđếncuốitậptinthìkhôngthể đọcđượcnữa  Đểkiểmtracóphảicuốitậptinhaychưa,cóthểdùng hàmfeofhoặcdùngkếtquảcủanhữnghàmđọctậptin int feof(FILE *fp); 12Cácbướcxửlýtậptin:Bước4 Có4bướccơbảnđểxửlýtậptin 4. Đóngtậptin: int fclose( FILE *fp );  fp: là con trỏ tập tin muốn đóng ◦ Khihàmđượcgọi,nósẽviếtbấtkỳdữliệunàovẫn còntrongvùngđệmđếntậptinrồiđóngtậptin 13Cácbướcxửlýtậptin Nhưvậymộtchươngtrìnhxửlýtậptincódạng chungnhưsau: #include #include voidmain(){ FILE*fp; fp=fopen(thidu.dat,w); if(fp==NULL){ coutNộidungtrìnhbày Giớithiệutậptin1.2. Cácbướcxửlýtậptin3. Đọc–Ghitậptinvănbản(Textfile)4. Đọc–Ghitậptinnhịphân(Binaryfile) 15Ghitậptinvănbản:putcfputcGhit Cóhaihàmghikýtựvàotậptinlàputcvàfputc. Haihàmnàylàtươngđươngnhau ◦ ch:kítựmuốnghivàotậptin ◦ fp:contrỏtậptin ◦ Mỗilầnchỉghiđượcmộtkítựvàotậptin 16Vídụ:putcfputc Đọckýtựtừbànphímvàghivàofileđếnkhigặp kítự$ voidmain() { FILE*fp; charch; if((fp=fopen(“test.txt”,w))==NULL) { coutĐọctậptinvănbản:getcfgetcĐọ Hàmđọc:getchoặcfgetc int getc( FILE *fp ); int fgetc( FILE *fp ); ◦ fp:contrỏtậptin ◦ Mỗilầnchỉđọcmộtkýtựtừtậptin ◦ HàmtrảvềmãASCIIcủakýtựđọcđược,trảvề EOFnếuđọcđượckíhiệukếtthúctậptin 18Vídụ:getcfgetcĐọccáckítựtừfilevàxuấtramànhình voidmain() { FILE*fp;charch; if((fp=fopen(test.txt,r))==NULL) { coutGhitậptinvănbản:fputsGhit Hàmghi1chuỗivàotậptin:fputs int fputs( const char *str ...

Tài liệu được xem nhiều: