Friday, December 6, 2013

โปรแกรมภาษา C++ : ตอนการเก็บข้อมูลลงใน Disk แบบ Text File

การเขียนโปรแกรมภาษา c++ วันนี้จะนำเสนอ กระบวนการเก็บข้อมูลลงไฟล์ ซึ่งจะพบอยู่เป็นประจำสำหรับโปรแกรมเมอร์ โดยเฉพาะการเขียนโปรแกรมติดต่อกับ Hardware เช่น เครื่องรูดบัตร เครื่องบันทึกข้อมูลเป็นต้นซึ่งข้อมูลจะถูกเก็บไว้ใน Disk  และจะถูกอ่านเข้ามาใช้หรือเก็บไว้ใช้อยู่ตลอดเวลา โดยทั่วไปไฟล์จะแบ่งออกเป็น 2 ประเภท คือ Text File และ Binary File ในบทความนี้จะขอกล่าวถึง Text File ก่อนครับ มาดู Code  การบันทึกข้อมูลแบบ Text File กันครับ


เมื่อคอมไพล์โปรแกรมท่านจะได้ไฟล์ DATA.txt มาหนึ่งไฟล์ เมื่อเปิดด้วย Nodepad จะพบเลข 100 และเมื่อดูขนาดไฟล์จะพบว่ามีขนาดเท่ากับ 3 ไบต์ เนื่องจากการบันทึกไฟล์แบบ text มันจะเก็บเป็นตัวอักษร ซึ่งจากตัวอย่างเราเก็บเลข 100 ไว้ ดังนั้นจึงมีตัวอักษร 3 ตัว ตัวละ 1 ไบต์ ดังนั้นจึงมีขนาด 3 ไบต์ ทีนี้ลองปรับโค้ดโปรแกรมดูนะครับ หากเป็นดังนี้ text ไฟล์จะมีขนาดเท่าใด
float af ;
af = 120.56 ;
int mum ;
num = 100 ;

FILE *fp ;
fp = fopen("DATA.txt","wt") ;
fprint(fp,"%d %f" ,num,af);
fclose(fp);

จากจุดนี้จะพบว่าเป็นการยากมากที่จะทราบขนาดของไฟล์ได้ ซึ่งจะมีความยุ่งยากในการบริหารจัดการข้อมูลครับ ในบทความต่อไปจะนำเสนอการบันทึกข้อมูลลง Disk แบบ Binary ซึ่งมีรูปแบบและขนาดที่ชัดเจนทำให้การจัดการข้อมูลสามารถทำได้ง่ายและสะดวกครับ

No comments :

Post a Comment