Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore 09-File Management

09-File Management

Published by noogob, 2017-03-21 00:55:48

Description: 09-File Management

Search

Read the Text Version

การจดั การแฟ้มข้อมูล



ไฟลแ์ บบตวั อกั ษรหรือ Text File เป็นไฟลท์ ี่มีแตต่ วั อกั ษร เปิ ดอ่านดว้ ย notepadไดร้ ู้เรื่อง โดยการดูนามสกลุ ของไฟล์ หรืออาจดูจากไอคอน คือ

ชนิดของแฟ้มข้อมูล ตวั อยา่ งนามสกลุ ของ ชนิดของแฟ้มขอ้ มูลText File มีดงั น้ี .txt ไฟลข์ อ้ ความ .bak ไฟลส์ ารอง .log ไฟล์ Log .ini ไฟลเ์ กบ็ คา่ profile .c ไฟลซ์ อร์สโคด้ โปรแกรมภาษา C .php ไฟลซ์ อร์สโคด้ โปรแกรมภาษา PHPนอกจากน้ียงั รวมไปถึงซอร์สโคด้ ของโปรแกรมภาษาต่างๆ ซ่ึงจะเกบ็ อยใู่ นรูป TextFile ท้งั หมด โดยระบุนามสกลุ เป็นภาษาน้นั ๆ

ชนิดของแฟ้มข้อมูล  ตวั อยา่ งไฟลท์ ี่เกบ็ ขอ้ มูลแบบไบนารี่ โดยจะเกบ็ ขอ้ มูลเป็บไบต์ เช่น  ไฟลร์ ูปภาพ เช่น bmp,jpg,gif  ไฟลเ์ อกสาร ของโปรแกรมต่างๆ .doc , .xls , .ppt , .rdw  ไฟลห์ นงั และไฟลเ์ พลง เช่น .wav , .mp3 , .wma , .wmv  ไฟลโ์ ปรแกรม เช่น .exe , .dll

ชนิดของแฟ้มข้อมูล ตวั อยา่ งการเปิ ดไฟลแ์ บบ Binary ดว้ ย notepad



การเปิ ดแฟ้มข้อมูล ในการประมวลผลร่วมกบั แฟ้มขอ้ มูลน้นั การดาเนินการแรกท่ีจะตอ้ งทา ก่อนงานอื่นๆ คือการเปิ ดไฟลเ์ พอ่ื เลือกไฟลท์ ี่จะประมวลผล และสร้าง ตวั ช้ีตาแหน่งไฟลข์ ้ึน ซ่ึงในการเปิ ดไฟลจ์ ะตอ้ งใช้ 2 คาสง่ั  คาสง่ั แรก เป็นการสร้างตวั พอยเตอร์ชนิด file เพื่อใชเ้ ป็นตวั ช้ี ตาแหน่งไฟล์  คาสง่ั ท่ีสอง คือ คาสง่ั เปิ ดไฟลแ์ ละกาหนดตวั ช้ีตาแหน่งไฟลใ์ หก้ บั ตวั แปรพอยเตอร์



การเปิ ดแฟ้มข้อมูล ในการเขียนคาสง่ั เพ่อื เปิ ดไฟล์ จะตอ้ งระบุโหมดของไฟลด์ ว้ ย เพอ่ื ใหต้ วั แปลภาษา C เขา้ ใจวา่ เราตอ้ งการเปิ ดไฟลเ์ พ่อื ทางานใด โดยโหมดของไฟลแ์ สดงดงั ตารางต่อไปน้ีโหมดการเปิ ดไฟล์ ความหมายr เปิ ดไฟลเ์ พ่อื อ่านขอ้ มูลอยา่ งเดียวw เปิ ดไฟลเ์ พอื่ เขียนขอ้ มูลทบั ลงไปทบั ขอ้ มูลเก่าในไฟล์ โดยขอ้ มูล เก่าจะถูกลบทิ้งa เปิ ดไฟลส์ าหรับเขียนขอ้ มูลต่อทา้ ยขอ้ มูลเดิมในไฟล์r+ เปิ ดไฟลส์ าหรับอ่านและเขียนขอ้ มูลลงไปในไฟล์w+ เปิ ดไฟลส์ าหรับอ่านและเขียนขอ้ มูลใหม่ทบั ขอ้ มูลเดิมa+ เปิ ดไฟลส์ าหรับอ่านและเขียนขอ้ มูลใหม่ต่อทา้ ยขอ้ มูลเดิม

การเปิ ดแฟ้มข้อมูล การเปิ ดไฟลใ์ นโหมด r ไฟลท์ ี่จะเปิ ดตอ้ งมีอยจู่ ริงจึงจะเปิ ดได้ ส่วนโหมดอ่ืนๆ ถา้ ไฟลท์ ี่ระบุชื่อยงั ไม่มีอยู่ ระบบจะสร้างไฟลใ์ หม่ข้ึนมา การเขียนคาสงั่ เพื่อเปิ ดไฟล์ ถา้ เปิ ดไฟลไ์ ม่สาเร็จไม่มีปัญหา หรือขอ้ ผดิ พลาดใดๆ สิ่งจะไดก้ ลบั มาคือ ตาแหน่งตวั ช้ีไฟล์ แต่หากไม่สามารถเปิ ดไฟลข์ ้ึนมาได้ คา่ ที่ไดก้ ลบั มาคือ NULL

ฟังก์ชันในการจดั การไฟล์ในภาษา C ฟังกช์ นั เปิ ดและปิ ดไฟล์  fopen ใชใ้ นการเปิ ดไฟล์  fclose ใชใ้ นการปิ ดไฟล์ ฟังกช์ นั ท่ีใชใ้ นการอ่านขอ้ มูลจากไฟล์  fgetc อ่านขอ้ มูลทีละตวั อกั ษร  fgets อ่านขอ้ มูลมาเป็นขอ้ ความ  fscanf อ่านขอ้ มูลเป็นขอ้ ความเหมือนกบั scanf  fread อ่านขอ้ มูลแบบไบต์

ฟังก์ชันในการจดั การไฟล์ในภาษา C ฟังกช์ นั ท่ีใชใ้ นการเขียนขอ้ มูลลงไฟล์  fputc เขียนขอ้ มูลทีละตวั อกั ษร  fputs เขียนขอ้ มลู แบบขอ้ ความ  fprintf เขียนขอ้ มูลเป็นขอ้ ความเหมือนกบั printf  fwrite เขียนขอ้ มูลเป็นไบต์ ฟังกช์ นั ช่วยในการจดั การไฟล์  feof ใชต้ รวจสอบการสิ้นสุดไฟล์  ftell ใชต้ รวจสอบการอ่านตาแหน่งของไฟล์  fseek ใชใ้ นการเลื่อนไปยงั ตาแหน่งที่ตอ้ งการภายในไฟล์

การเปิ ดไฟล์ การตรวจสอบจุดสิ้นสุดของไฟลส์ ามารถทาได้ 2 วิธี โดยถา้ เป็นไบนารี ไฟล์ จะตอ้ งเรียกใชฟ้ ังกช์ นั feof() เพอื่ ตรวจสอบจุดสิ้นสุดของไฟล์ แต่ ถา้ เป็น Text File เมื่ออ่านขอ้ มูลจนจบแลว้ จะไดค้ ่า EOF (End Of File) ออกมา หรือจะเรียกใชฟ้ ังกช์ นั feof() กไ็ ดเ้ ช่นเดียวกนั

การลบไฟล์ สาหรับไฟลท์ ่ีไม่จาเป็นตอ้ งใชง้ านแลว้ สามารถลบไฟลด์ งั กล่าวเพ่อื ประหยดั พ้นื ที่ในฮาร์ดดิสได้ โดยใชค้ าสง่ั remove() ซ่ึงมีรูปแบบการ เรียกใชด้ งั น้ี remove(“ชื่อไฟล์”); ตวั อยา่ ง เช่น remove(“c:/data.txt”);

การเปลยี่ นชื่อไฟล์ การเปลี่ยนชื่อไฟลห์ รือยา้ ยตาแหน่งไฟลส์ ามารถทาได้ โดยเรียกใชค้ าสง่ั rename() เพ่ือเปลี่ยนช่ือหรือเปล่ียนท่ีเกบ็ ใหม่ตามตอ้ งการ โดยมี รูปแบบการเรียกใชค้ าสงั่ ดงั น้ี rename(“ชื่อไฟล์เดมิ ”, “ช่ือไฟล์ใหม่หรือตาแหน่งใหม่”); ตวั อยา่ ง เช่น rename(“menu.dat”, “content.dat”); rename(“c:/doc/data.txt”, “d:/lab/test.txt”);


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook