Chapter 7: File แฟ้มข้อมูล Source of slides

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
โครงสร้างโปรแกรมภาษา C
Advertisements

Computer Programming 1 LAB Test 3
BC322 ครั้งที่ 6 Text file BC322 : computer Programming (Week6)
การรับค่าและแสดงผล.
6. โครงสร้างข้อมูลแบบแฟ้ม
Structure Programming
LAB # 4 Computer Programming 1 1. พิจารณาโปรแกรมต่อไปนี้
LAB # 8 Computer Programming 1
การใช้ PHP ติดต่อกับ Text File
Lecture no. 10 Files System
บทที่ 12 Structure and union Kairoek choeychuen
Programming With C Data Input & Output.
การจัดการแฟ้มข้อมูล.
LOGO Array. ประเภทของ Array - อาเรย์ 1 มิติ (One) - อาเรย์ 2 มิติ (Two) - อาเรย์ 3 มิติ (Three) 2.
ข้อมูลชนิดอาร์เรย์ ประเภทของข้อมูลที่ผ่านมาส่วนใหญ่ในตอนต้นๆจะเป็นข้อมูลเดี่ยว โดยตัวแปรหนึ่งตัวสามารถเก็บข้อมูลได้หนึ่งตัว ถ้าหากต้องการเก็บข้อมูลหลายตัวจะต้องประกาศตัวแปรหลายตัว.
หน่วยที่ 17 แอเรย์ของสตรัคเจอร์. แอเรย์ของข้อมูลสตรัคเจอร์ student_info student[30]; Student[0]Student[0].Name Student[0].Midterm Student[0].Assignment.
หน่วยที่ 1 พื้นฐานภาษา C
ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
การใช้ PHP ติดต่อกับ Text File
คำสั่งเกี่ยวกับการรับ และแสดงผล
โครงสร้างโปรแกรมภาษาซี
การจัดการแฟ้มข้อมูล.
File & Directory Management การจัดการไฟล์และไดเรคทอรี
Computer Programming Asst. Prof. Dr. Choopan Rattanapoka
การเขียนคำสั่งควบคุม การทำงานขั้นพื้นฐาน
การทำงานกับ Files ธวัชชัย เอี่ยมไพโรจน์. UNIX File Structure ดูรายละเอียดได้ที่ 404/doc/file.ppt บน UNIX ทุกๆ อย่างเป็น.
Streams. Formatted output cout
ฟังก์ชันในภาษา C. ฟังก์ชัน (Functions) 2 การออกแบบโปรแกรมในภาษาซี จะอยู่บนพื้นฐานของการออกแบบ โมดูล (Module Design) โดยการแบ่ง โปรแกรมออกเป็นงานย่อย ๆ.
โครงสร้างภาษาซี C ++ structure
การเขียนโปรแกรมภาษาเบื้องต้น (ภาษาซี)
Chapter 10 Data Files.
บทที่ 1 บทนำ 1.1 ฮาร์ดแวร์คอมพิวเตอร์ 1.2 ซอฟต์แวร์คอมพิวเตอร์
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
Computer Programming I โดย อ.วิมลศรี เกตุโสภณ สาขาวิชาระบบสารสนเทศ
อาร์เรย์ (Array) อาจารย์สมเกียรติ ช่อเหมือน
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
โครงสร้างโปรแกรมภาษา C
โปรแกรม ภาษา C ภาษาซี (C Language) เป็นภาษาหนึ่งสำหรับเขียนโปรแกรมคอมพิวเตอร์   พัฒนาขึ้นโดยนายเดนนิส  ริทชี่ (Dennis Ritche)  ในปี ค.ศ. 1972  เพื่อสร้างระบบปฏิบัติการยูนิกซ์
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
การเขียนโปรแกรมด้วยภาษา C
บทที่ 4 การรับและแสดงผลข้อมูล
คณาจารย์ หลักสูตรวิทยาการคอมพิวเตอร์คณะวิทยาการสารสนเทศ
C Programming By Mr. Sanae Sukprung.
Chapter 3 More on Input & Output.
คำสั่งวนซ้ำ (Looping)
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
บทที่ 6 การเขียนโปรแกรมแบบมีเงื่อนไข
Chapter 9 ตัวชี้ pointer.
INC 161 , CPE 100 Computer Programming
ใช้สำหรับ Turbo C++ Version 3.0
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
การรับและแสดงผลข้อมูลของภาษา C
คำสั่งเงื่อนไข (Conditioning Statements)
ภาษา C เบื้องต้น.
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
โครงสร้างโปรแกรมภาษา C
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
บทที่ 4 ตัวแปร (Variables)
บทที่ 13 การจัดการไฟล์ (File Management)
ตัวแปรกับชนิดของข้อมูล
หลักการเขียนโปรแกรมภาษาซี
introduction to Computer Programming
บทที่ 2 แนะนำภาษา C Basic C Program
บทที่ 6 สตรัคเจอร์ Structure
อาเรย์ (Array).
ตัวแปรชนิดพอยเตอร์ (Pointer)
Chapter 6: Structure ตัวแปรแบบโครงสร้าง Reference
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
Introduction to Computer Programming
Chapter 5: Function.
ใบสำเนางานนำเสนอ:

Chapter 7: File แฟ้มข้อมูล Source of slides บุญชู จิตนุพงศ์ วิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศคณะทรัพยากรและสิ่งแวดล้อม ม.เกษตรศาสตร์ วิทยาเขตศรีราชา Available on : http://158.108.103.7:12222/~boonchoo/images/stories/14_file.pdf

แฟ้มข้อมูล (File)? ขั้นตอนการทางานร่วมกับแฟ้มข้อมูล การเปิดแฟ้มข้อมูล การปิดแฟ้มข้อมูล การอ่านข้อมูลจากแฟ้มข้อมูล การเขียนข้อมูลลงแฟ้มข้อมูล

ไฟล์ แฟ้มข้อมูล (File) คือ ที่เก็บข้อมูลถาวร ก่อนหน้านี้ ข้อมูลที่เรารับค่าและแสดงผลจะถูกบันทึกอยู่ในที่เก็บข้อมูลชั่วขณะเท่านั้น เมื่อโปรแกรมทางานจบ ข้อมูลเหล่านั้นจะหายไป แต่ไฟล์ จะทาให้เราสามารถเก็บข้อมูลสาหรับงานของเราไว้ได้อย่างถาวร เมื่อใดที่เราต้องการเข้าถึงข้อมูลที่ถูกบันทึกไว้ เราจึงสั่งให้โปรแกรมเข้าไปนาค่านั้นๆ ออกมาใช้งาน แบ่งเป็น 2 ประเภท –Text Files แฟ้มข้อมูลที่เก็บข้อมูลในรูปแบบตัวอักษร –Binary Files แฟ้มข้อมูลสาหรับงานของคอมพิวเตอร์

เราทำงานกับไฟล์ได้ทั้งการอ่าน หรือ เขียนไฟล์ หากเราสั่งให้โปรแกรมที่เราสร้างขึ้นมาอ่านไฟล์ ข้อมูลจะถูกอ่านขึ้นมาเก็บไว้ในหน่วยความจำก่อนนำไปใช้ หากเราสั่งให้โปรแกรมที่เราสร้างขึ้นมาเขียนไฟล์ ข้อมูลที่เราจะเขียนจะถูกเก็บไว้ในหน่วยความจำก่อนจะถูกเขียนลงไฟล์ เราเรียกหน่วยความจำที่พักนี้ว่า บัฟเฟอร์ (Buffer)

ขั้นตอนการทำงาน เปิดแฟ้มข้อมูล (open file) อ่าน / เขียน ข้อมูล (read / write) ปิดแฟ้มข้อมูล (close file)

Open file ประกาศตัวแปร Pointer ชี้ไปที่โครงสร้าง FILE ก่อน FILE *fp; ระบุชื่อแฟ้มข้อมูล และบอกวัตถุประสงค์ของการใช้แฟ้มข้อมูล fp = fopen(“ชื่อแฟ้ม”, “เงื่อนไขการเปิดแฟ้มข้อมูล”); เช่น fp = fopen(“hello.txt”, “w”);

Open file เงื่อนไขการเปิดไฟล์ ความหมาย “r” เปิดไฟล์สำหรับอ่านข้อมูล “w” เปิดไฟล์สำหรับเขียน/บันทึกทับข้อมูลเดิม “a” เปิดไฟล์สำหรับเขียน/บันทึกข้อมูลเพิ่มเติมต่อจากข้อมูลเดิม “r+” เปิดไฟล์สำหรับอ่านและเขียนทับไฟล์เก่า “w+” สร้างและเปิดไฟล์สำหรับอ่านและเขียนทับไฟล์เก่า “a+” เปิดไฟล์สำหรับอ่านและบันทึกข้อมูลต่อจากข้อมูลเดิม

ตัวอย่างการเปิดไฟล์ และเขียนข้อมูลลงไฟล์ #include <stdio.h> main() { FILE *fp; fp = fopen("D:\\file\\hello.txt","w"); if(fp!=NULL){ fprintf(fp,"Hello World \n"); fclose(fp); } else printf("Error writing Hello.txt \n"); return 0;

ตัวอย่างการอ่านไฟล์ #include <stdio.h> char c; main() { FILE *fp; fp = fopen("D:\\file\\hello.txt","r"); c = getc(fp); while(c != EOF) { printf("%c", c); }

Close file หลังจากการเปิดข้อมูล บันทึก หรือ อ่านข้อมูล จะต้องทำการปิดไฟล์ข้อมูลทุกครั้ง เพื่อทำการบันทึกข้อมูลครั้งสุดท้ายและคืนทรัพยากรให้กับเครื่อง การปิดไฟล์จะได้ฟังก์ชัน fclose() ทำหน้าที่ปิดไฟล์ที่ไฟล์ pointer กำลังชี้อยู่ fclose(fp);

การอ่านไฟล์ Character level: getc() – อ่านข้อมูลทีละอักขระ String level: fgets() – อ่านข้อมูลชนิด String fscanf() – อ่านข้อมูลชนิดจำนวนเต็ม, ทศนิยม, และข้อความ Record level: fread() – อ่านข้อมูลแบบโครงสร้าง หรืออาร์เรย์ได้

fscanf() #include <stdio.h> main() { FILE *fp; fp = fopen("D:\\file\\employee.txt","r"); char name[10]; int age,i=1; float salary; while(!feof(fp)){ fscanf(fp,"%s %d %f", name, &age, &salary); printf("%d %s\t\t%d\t%.2f\n", i, name, age, salary); i++; } fclose(fp); return 0; getchar();

fprintf() การใช้ฟังก์ชั่นfprintf() ใช้เขียนข้อมูลในรูปแบบตัวเลขจานวนเต็ม, ตัวเลขจุดทศนิยมและข้อความลงแฟ้มข้อมูลได้ fprintf(fp,control string, variable list); –fp คือชื่อตัวแปรพอยท์เตอร์ –control string คือรูปแบบของการอ่านค่าจากแฟ้ม –variable list คือรายชื่อตัวแปรสาหรับเก็บค่า

ตัวอย่าง fprintf(); #include<stdio.h> main() { FILE *fp= fopen("D:\\file\\employee.txt", "a"); char name[20]; int age; float salary; printf("Insert new Employee name: "); scanf("%s", name); printf("Insert new Employee age: "); scanf("%d", &age); printf("Insert new Employee salary: "); scanf("%f", &salary); fprintf(fp, "\n%s%d %.0f", name, age, salary); printf("Added to file"); getchar(); }

fwrite(); ใช้เขียนข้อมูลที่อยู่ในรูปแบบข้อมูลชนิดโครงสร้างหรืออาร์เรย์ลงแฟ้มข้อมูลได้ fwrite(&var, size, n, fp); โดย var คือตัวแปรที่เราต้องการบันทึกลงแฟ้มข้อมูล size ขนาดของตัวแปร n จำนวนรอบที่ต้องการเขียน fp คือชื่อตัวแปรพอยท์เตอร์ที่เราชี้ไปยังแฟ้มข้อมูล

fwrite & fread #include<stdio.h> typedef struct{ char name[10]; int age; float salary; }EMPLOYEE; main(){ FILE *fp= fopen("D:\\file\\employee.txt", "w"); EMPLOYEE writeEmp, readEmp; printf("Insert new Employee name: "); scanf("%s", writeEmp.name); printf("Insert new Employee age: "); scanf("%d", &writeEmp.age); printf("Insert new Employee salary: "); scanf("%f", &writeEmp.salary); fwrite(&writeEmp, sizeof(EMPLOYEE), 1, fp); fclose(fp); fp= fopen("D:\\file\\employee.txt", "r"); fread(&readEmp, sizeof(EMPLOYEE), 1, fp); printf("Hi %s \n", readEmp.name); printf("%d \n", readEmp.age); printf("%.2f \n", readEmp.salary); getchar(); }