งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

การรับและแสดงผลข้อมูลของภาษา C

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "การรับและแสดงผลข้อมูลของภาษา C"— ใบสำเนางานนำเสนอ:

1 การรับและแสดงผลข้อมูลของภาษา C
อาจารย์สมเกียรติ ช่อเหมือน สาขาวิชาวิศวกรรมซอฟต์แวร์ คณะวิทยาศาสตร์และเทคโนโลยี

2 เนื้อหาที่สนใจ การรับและแสดงผลด้วยภาษาซี (Input & Output)
การรับและแสดงผลไฟล์อุปกรณ์ (File I/O) ไฟล์มาตรฐานของอุปกรณ์รับและแสดงผล (Standard Files) การจัดการไฟล์ I/O และการป้อนข้อมูลและเอาท์พุทไฟล์ การเข้าถึงไฟล์ (File access) การเข้าถึงไฟล์โดยตรง (Direct input/output) การับและแสดงค่าแบบไม่จัดรูปแบบ (Unformatted input/output) การับและแสดงค่าแบบกำหนดรูปแบบ (Formatted input/output) การกำหนดตำแหน่งของไฟล์ (File positioning) การดำเนินการกับไฟล์ (Operations on files) ฟังก์ชันการรับและแสดงผลของภาษาซี

3 Input & Output การป้อนข้อมูล หมายถึง การนำข้อมูลบางอย่างเข้าสู่โปรแกรม
การป้อนข้อมูล อาจรับเข้าจากไฟล์หรือการป้อนข้อมูลทีละชุด ภาษา C มีฟังก์ชั่น เพื่ออ่านอินพุตจากอุปกรณ์หรือไฟล์ไบนารี การส่งออกข้อมูล หมายถึง การแสดงผลข้อมูลบางอย่างบนหน้าจอ เครื่องพิมพ์หรือไฟล์ใด ๆ ภาษา C มีฟังก์ชั่น เพื่อส่งออกข้อมูลบนหน้าจอคอมพิวเตอร์และบันทึกไว้ในข้อความหรือไฟล์ไบนารี

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

5 Standard Files ภาษา C ถือว่าอุปกรณ์ทั้งหมดเป็นไฟล์
ดังนั้นอุปกรณ์ต่างๆ เช่น จอแสดงผลมีการแก้ไขในลักษณะเดียวกับไฟล์และแฟ้มดังตาราง Standard File File Pointer Device Standard input stdin Keyboard Standard output stdout Screen Standard error stderr Your screen

6 การจัดการไฟล์ I/O การนำเข้าและส่งออกอุปกรณ์มาตรฐาน
ภาษา C สร้างข้อความหรือไฟล์ไบนารีสำหรับการจัดเก็บข้อมูล ไฟล์ที่แสดงให้เห็นถึงลำดับของไบต์ โดยไม่คำนึงถึงแฟ้มข้อความหรือแฟ้มไบนารี จัดการไฟล์บนอุปกรณ์จัดเก็บข้อมูลผ่านการจัดการไฟล์

7 การป้อนข้อมูลและเอาท์พุทไฟล์
ภาษาซีการเขียนโปรแกรมภาษาซีมีฟังก์ชันไลบรารีมาตรฐานสำหรับการป้อนข้อมูลและเอาท์พุทไฟล์ เป็นกลุ่มของของไลบรารีมาตรฐาน <stdio.h> “portable I/O package” ฟังก์ชันการทำงาน I / O ของ C อยู่ในระดับค่อนข้างต่ำตามมาตรฐานใหม่ การดำเนินการไฟล์ทั้งหมด ดำเนินการกับสตรีม (Stream) ไบต์ ซึ่งเป็น “สตรีมอินพุต” หรือ “สตรีมเอาท์พุท” รูปแบบสตรีมไฟล์ I / O ได้รับความนิยมโดย Unix ซึ่งพัฒนาขึ้น

8 การเข้าถึงไฟล์ (File access)
fopen เปิดไฟล์ (ด้วยชื่อไฟล์ที่ไม่ใช่ Unicode บน Windows และชื่อไฟล์ UTF-8 ที่เป็นไปได้ใน Linux) freopen เปิดไฟล์อื่นจากสตรีมที่มีอยู่ fflush เข้าจังหวะกับสตรีมข้อมูลขาออกพร้อมกับไฟล์จริง fclose ปิดไฟล์ setbuf ตั้งค่าบัฟเฟอร์สำหรับสตรีมไฟล์ setvbuf ตั้งค่าบัฟเฟอร์และขนาดของไฟล์สำหรับสตรีมไฟล์ fwide สลับการสตรีมไฟล์ระหว่าง I / O แบบกว้างและ I / O ที่แคบ

9 การเข้าถึงไฟล์โดยตรง (Direct input/output)
fread อ่านค่าจากไฟล์ fwrite เขียนค่าลงไฟล์ #include <stdio.h> #include <string.h> int main(){ FILE *fp; char c[] = "this is tutorialspoint"; char buffer[100]; /* Open file for both reading and writing */ fp = fopen("file.txt", "w+"); /* Write data to the file */ fwrite(c, strlen(c) + 1, 1, fp); /* Seek to the beginning of the file */ fseek(fp, SEEK_SET, 0); /* Read and display data */ fread(buffer, strlen(c)+1, 1, fp); printf("%s\n", buffer); fclose(fp); return(0); }

10 การับและแสดงค่าแบบไม่จัดรูปแบบ (Unformatted input/output)
fgetc getc fgetwc getwc อ่านไบต์ หรือ wchar_t จากไฟล์สตรีม fgets fgetws อ่านบรรทัด byte / wchar_t จากไฟล์สตรีม fputc putc fputwc putwc เขียนไบต์ / wchar_t เป็นสตรีมไฟล์ fputs fputws เขียนสตริงไบต์ / wchar_t เป็นสตรีมไฟล์ getchar getwchar อ่านไบต์ / wchar_t จาก stdin gets N/A อ่านสตริงไบต์จาก stdin จนกว่าจะพบบรรทัดใหม่หรือจุดสิ้นสุดของไฟล์ (เลิกใช้ใน C99 แล้วนำออกจาก C11) putchar putwchar เขียนไบต์ / wchar_t เป็น stdout puts เขียนสตริงไบต์เป็น stdout ungetc ungetwc ทำให้ไบต์ / wchar_t กลับเข้าสู่สตรีมไฟล์

11 การับและแสดงค่าแบบกำหนดรูปแบบ (Formatted input/output)
scanf fscanf sscanf wscanf fwscanf swscanf อ่านรูปแบบไบต์ / wchar_t input จาก stdin, ไฟล์สตรีมหรือบัฟเฟอร์ vscanf vfscanf vsscanf vwscanf vfwscanf vswscanf อ่านไบต์อินพุต / wchar_t จากดิสก์ ไฟล์สตรีมหรือบัฟเฟอร์โดยใช้อาร์กิวเมนต์ตัวแปร printf fprintf sprintf snprintf wprintf fwprintf swprintf พิมพ์รูปแบบไบต์ / wchar_t เอาท์พุทเป็น stdout, ไฟล์สตรีมหรือบัฟเฟอร์ vprintf vfprintf vsprintf vsnprintf vwprintf vfwprintf vswprintf พิมพ์รูปแบบไบต์ / wchar_t ส่งออกไปยัง stdout ไฟล์สตรีมหรือบัฟเฟอร์โดยใช้อาร์กิวเมนต์ตัวแปร perror N/A เขียนคำอธิบายของข้อผิดพลาดปัจจุบันในไฟล์ stderr

12 การกำหนดตำแหน่งของไฟล์ (File positioning)
ftell ftello แสดงตัวบ่งชี้ตำแหน่งไฟล์ปัจจุบัน fseek fseeko ย้ายตัวบ่งชี้ตำแหน่งไฟล์ไปยังตำแหน่งที่ตั้งเฉพาะในไฟล์ fgetpos รับตัวบ่งชี้ตำแหน่งของไฟล์ fsetpos rewind ย้ายตัวบ่งชี้ตำแหน่งของไฟล์ไปยังจุดเริ่มต้นในไฟล์

13 การจัดการข้อผิดพลาด (Error handling)
#include <stdio.h> int main (){ FILE *fp; int c; fp = fopen("file.txt","r"); if(fp == NULL) { perror("Error in opening file"); return(-1); } while(1) c = fgetc(fp); if( feof(fp)) { break ; } printf("%c", c); fclose(fp); return(0); clearerr ล้างข้อผิดพลาด feof ตรวจสอบจุดสิ้นสุดของไฟล์ ferror ตรวจสอบข้อผิดพลาดของไฟล์

14 การดำเนินการกับไฟล์ (Operations on files)
remove ลบไฟล์ rename เปลี่ยนชื่อไฟล์ tmpfile ส่งกลับตัวชี้ไปยังแฟ้มชั่วคราว tmpnam ส่งคืนชื่อไฟล์ที่ไม่ซ้ำกัน #include <stdio.h> #include <string.h> int main (){ int ret; FILE *fp; char filename[] = "file.txt"; fp = fopen(filename, "w"); fprintf(fp, "%s", "This is tutorialspoint.com"); fclose(fp); ret = remove(filename); if(ret == 0) { printf("File deleted successfully"); } else printf("Error: unable to delete the file"); return(0);

15 ฟังก์ชัน getchar() ฟังก์ชันอ่านตัวอักษรจากหน้าจอและส่งกลับมาเป็นจำนวนเต็ม ฟังก์ชันนี้จะอ่านเพียงตัวเดียว ฟังก์ชัน getche() และ getch() มีรูปแบบดังนี้                  #include <stdio.h> int main (){ char c; printf("Enter character: "); c = getchar(); printf("Character entered: "); putchar(c); return(0); }

16 ฟังก์ชัน putchar() การแสดงผลตัวอักษรหรืออักขระ ( char ) ออกทางหน้าจอ โดยคำสั่งนั้นคือ คำสั่ง putchar()  #include <stdio.h> int main (){ char ch; for(ch = 'A' ; ch <= 'Z' ; ch++) { putchar(ch); } return(0);

17 ฟังก์ชัน gets() ฟังก์ชัน gets() ใช้สำหรับข้อมูลชนิดสตริงก์หรือข้อความซึ่งป้อนทางแป้นพิมพ์ โดยมีรูปแบบดังนี้ #include <stdio.h> int main() { char str[50]; printf("Enter a string : "); gets(str); printf("You entered: %s", str); return(0); }

18 ฟังก์ชัน puts() ฟังก์ชัน puts() ใช้สำหรับแสดงข้อความทางหน้าจอ
โดยมีรูปแบบดังนี้ #include <stdio.h> #include <string.h> int main(){ char str1[15]; char str2[15]; strcpy(str1, "tutorialspoint"); strcpy(str2, "compileonline"); puts(str1); puts(str2); return(0); }

19 ฟังก์ชัน printf() ฟังก์ชันที่ใช้ในการแสดงผลข้อมูลออกทางจอภาพ มีรูปแบบดังนี้ ตัวอย่าง printf(“i = %d \n”,i); ภายใน “” จะมีเครื่องหมาย % อยู่ตาม Format Code และแสดงค่าที่กำหนดหลังเครื่องหมาย ,

20 ฟังก์ชัน scanf() ฟังก์ชันที่ใช้ในการแสดงผลข้อมูลออกทางจอภาพ
ฟังก์ชัน scanf จำเป็นต้องใส่ Format Code ไว้ในเครื่องหมาย “” ระบุตัวแปรที่ใช้รับข้อมูล โดยใช้เครื่องหมาย & หน้าตัวแปร ยกเว้นอาร์เรย์ ดังตัวอย่าง

21 การจัดการไฟล์ I/O Opening Files Closing a File Writing a File
Reading a File

22 การเปิด-ปิดไฟล์ (Opening Files)
#include <stdio.h> #include <stdlib.h> int main(){ FILE * fp; fp = fopen ("file.txt", "w+"); fprintf(fp, "%s %s %s %d", "We", "are", "in", 2560); fclose(fp); return(0); } r - open for reading w - open for writing (file need not exist) a - open for appending (file need not exist) r+ - open for reading and writing, start at beginning w+ - open for reading and writing (overwrite file) a+ - open for reading and writing (append if file exists)

23 การเขียนไฟล์ (Writing a File)
FILE *fp; fp=fopen("c:\\test.txt", "w"); fprintf(fp, "Testing...\n"); int fgetc (FILE *fp); int fputc( int c, FILE *fp ); FILE *fp; fp=fopen("c:\\test.bin", "wb"); char x[10]="ABCDEFGHIJ"; fwrite(x, sizeof(x[0]), sizeof(x)/sizeof(x[0]), fp);

24 การอ่านไฟล์ (Reading a File)
FILE* fp; char buffer[255]; fp = fopen("file.txt", "r"); while(fgets(buffer, 255, (FILE*) fp)) { printf("%s\n", buffer); } fclose(fp);

25 สรุป การเขียนโปรแกรมภาษาซีมีฟังก์ชันไลบรารีมาตรฐานสำหรับการป้อนข้อมูลและแสดงผลข้อมูลเป็นกลุ่มของของไลบรารีมาตรฐาน <stdio.h> การอ่านเขียนไฟล์ดำเนินการกับสตรีมไบต์ เพื่อให้ควบคุมการรับและแสดงผลข้อมูลจากอุปกรณ์ต่างๆ หรือจัดเก็บไฟล์ข้อมูล ฟังก์ชันในการอ่านค่าและเขียนค่าของอุปกรณ์ เช่น printf() scanf() ที่นิยมนำมาใช้ในการรับค่าของข้อมูลประเภทต่างๆ ได้ การอ่านเขียนไฟล์ของอุปกรณ์ I/O ผ่านฟังก์ชันในการอ่านไฟล์ เขียนไฟล์ รวมถึง การจัดการกับไฟล์และข้อผิดพลาดที่เกิดขึ้นได้


ดาวน์โหลด ppt การรับและแสดงผลข้อมูลของภาษา C

งานนำเสนอที่คล้ายกัน


Ads by Google