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

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
1 C Programming An Introduction. 2 Preprocessing Directives เขียนได้ 2 รูปแบบ #include คอมไพเลอร์จะทำ การค้นหาเฮดเดอร์ไฟล์ที่ระบุ จากไดเร็คทอรีที่ใช้
Advertisements

โครงสร้างโปรแกรมภาษา C
ทบทวน & ลุยโจทย์ (Midterm)
BC322 ครั้งที่ 6 Text file BC322 : computer Programming (Week6)
การรับค่าและแสดงผล.
การรับและการแสดงผลข้อมูล
สายอักขระและ การประมวลผลสายอักขระ (String and String manipulation)
6. โครงสร้างข้อมูลแบบแฟ้ม
LAB # 4 Computer Programming 1 1. พิจารณาโปรแกรมต่อไปนี้
การใช้ PHP ติดต่อกับ Text File
คำสั่งเพื่อการกำหนดเงื่อนไข
การแสดงผล และการรับข้อมูล
บรรยายครั้งที่ 3: Queue
Lecture no. 10 Files System
Week4 Data types, Variables, Operators and Input/output (ต่อ)
Programming With C Data Input & Output.
การจัดการแฟ้มข้อมูล.
ตัวแปรชุดของอักขระ String
หน่วยที่ 17 แอเรย์ของสตรัคเจอร์. แอเรย์ของข้อมูลสตรัคเจอร์ student_info student[30]; Student[0]Student[0].Name Student[0].Midterm Student[0].Assignment.
บทที่ ไลบรารีฟังก์ชัน
ตัวอย่างโปรแกรมคำนวณหาพื้นที่สี่เหลี่ยม
ฟังก์ชันรับข้อมูล ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์
ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
การประมวลผลสายอักขระ
การใช้ PHP ติดต่อกับ Text File
คำสั่งรับค่า และ แสดงผลค่า. คำสั่งรับ - แสดงผล 1. printf( ) เป็น ฟังก์ชันที่ใช้ในการ แสดงผลข้อมูลที่อยู่ในตัว แปร ค่าคงที่ นิพจน์ออกมา ทางจอภาพ.
โครงสร้างภาษาซี #include <stdio.h> void main() {
คำสั่งเกี่ยวกับการรับ และแสดงผล
การจัดการแฟ้มข้อมูล.
L/O/G/O ฟังก์ชั่นการรับและ แสดงผล และฟังก์ชั่นทาง คณิตศาสตร์
บทที่ 11 การจัดการข้อมูลสตริง
การจัดการกับความผิดปกติ
1 สตริง (String) การประกาศค่าตัวแปรสตริง การกำหนดค่าสตริง การอ้างอิงตัวอักษรแต่ละตัวในสตริง ฟังก์ชั่นที่ใช้ในการจัดการสตริง ฟังก์ชั่นในการเปลี่ยนรูปแบบของสตริง.
File & Directory Management การจัดการไฟล์และไดเรคทอรี
การเขียนคำสั่งควบคุม การทำงานขั้นพื้นฐาน
การทำงานกับ Files ธวัชชัย เอี่ยมไพโรจน์. UNIX File Structure ดูรายละเอียดได้ที่ 404/doc/file.ppt บน UNIX ทุกๆ อย่างเป็น.
1 exit() and break C++ provides a way to leave a program early (before its natural finish) with the exit() function. The format of exit() is as follows:
Streams. Formatted output cout
การเปรียบเทียบเงื่อนไข
โครงสร้างภาษาซี C ++ structure
Chapter 10 Data Files.
โครงสร้างการทำงานแบบวนซ้ำ
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
Computer Programming I โดย อ.วิมลศรี เกตุโสภณ สาขาวิชาระบบสารสนเทศ
โครงสร้างโปรแกรมภาษา C
บทที่ 9 การออกแบบและเขียนโปรแกรมอย่างง่ายเพื่อ ประยุกต์ใช้ในธุรกิจ
โปรแกรม ภาษา C ภาษาซี (C Language) เป็นภาษาหนึ่งสำหรับเขียนโปรแกรมคอมพิวเตอร์   พัฒนาขึ้นโดยนายเดนนิส  ริทชี่ (Dennis Ritche)  ในปี ค.ศ. 1972  เพื่อสร้างระบบปฏิบัติการยูนิกซ์
การเขียนโปรแกรมด้วยภาษา C
บทที่ 5 อินพุตและเอาต์พุต
C Programming By Mr. Sanae Sukprung.
Chapter 3 More on Input & Output.
บริษัท พัฒนาวิชาการ (2535) จำกัด
INC 161 , CPE 100 Computer Programming
ใช้สำหรับ Turbo C++ Version 3.0
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
ภาษา C เบื้องต้น.
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
โครงสร้างโปรแกรมภาษา C
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
คำอธิบายรายวิชา การเขียนผังงาน รหัสเทียม ตรรกศาสตร์เบื้องต้น การเขียนโปรแกรมคอมพิวเตอร์แบบโครงสร้าง ชนิดตัวแปร ตัวดำเนินการทางตรรกะ ตัวดำเนินการเปรียบเทียบ.
บทที่ 4 ตัวแปร (Variables)
บทที่ 13 การจัดการไฟล์ (File Management)
หลักการเขียนโปรแกรมภาษาซี
introduction to Computer Programming
Chapter 3 Basic Input & Output.
Introduction to Computer Programming
การจัดบล๊อคและบัฟเฟอร์ (Blocking and Buffering)
Object-Oriented Programming Paradigm
Lecture 7: ทางเลือกแบบมีโครงสร้างซ้อนใน
Chapter 7: File แฟ้มข้อมูล Source of slides
ใบสำเนางานนำเสนอ:

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

เนื้อหาที่สนใจ การรับและแสดงผลด้วยภาษาซี (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) ฟังก์ชันการรับและแสดงผลของภาษาซี http://1.bp.blogspot.com/-tw1caa8lBus/Vphe8RV3rwI/AAAAAAAAAKM/wAhp-ds7iQM/s1600/8.png

Input & Output การป้อนข้อมูล หมายถึง การนำข้อมูลบางอย่างเข้าสู่โปรแกรม การป้อนข้อมูล อาจรับเข้าจากไฟล์หรือการป้อนข้อมูลทีละชุด ภาษา C มีฟังก์ชั่น เพื่ออ่านอินพุตจากอุปกรณ์หรือไฟล์ไบนารี การส่งออกข้อมูล หมายถึง การแสดงผลข้อมูลบางอย่างบนหน้าจอ เครื่องพิมพ์หรือไฟล์ใด ๆ ภาษา C มีฟังก์ชั่น เพื่อส่งออกข้อมูลบนหน้าจอคอมพิวเตอร์และบันทึกไว้ในข้อความหรือไฟล์ไบนารี https://www.seas.upenn.edu/~cis1xx/resources/java/fileIO/introToFileIO.html

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

Standard Files ภาษา C ถือว่าอุปกรณ์ทั้งหมดเป็นไฟล์ ดังนั้นอุปกรณ์ต่างๆ เช่น จอแสดงผลมีการแก้ไขในลักษณะเดียวกับไฟล์และแฟ้มดังตาราง Standard File File Pointer Device Standard input stdin Keyboard Standard output stdout Screen Standard error stderr Your screen https://developer.apple.com/library/content/documentation/DeviceDrivers/Conceptual/WritingAudioDrivers/AudioOnMacOSX/AudioOnMacOSX.html

การจัดการไฟล์ I/O การนำเข้าและส่งออกอุปกรณ์มาตรฐาน ภาษา C สร้างข้อความหรือไฟล์ไบนารีสำหรับการจัดเก็บข้อมูล ไฟล์ที่แสดงให้เห็นถึงลำดับของไบต์ โดยไม่คำนึงถึงแฟ้มข้อความหรือแฟ้มไบนารี จัดการไฟล์บนอุปกรณ์จัดเก็บข้อมูลผ่านการจัดการไฟล์ http://na5cent.blogspot.com/2015/01/java-stream.html

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

การเข้าถึงไฟล์ (File access) fopen เปิดไฟล์ (ด้วยชื่อไฟล์ที่ไม่ใช่ Unicode บน Windows และชื่อไฟล์ UTF-8 ที่เป็นไปได้ใน Linux) freopen เปิดไฟล์อื่นจากสตรีมที่มีอยู่ fflush เข้าจังหวะกับสตรีมข้อมูลขาออกพร้อมกับไฟล์จริง fclose ปิดไฟล์ setbuf ตั้งค่าบัฟเฟอร์สำหรับสตรีมไฟล์ setvbuf ตั้งค่าบัฟเฟอร์และขนาดของไฟล์สำหรับสตรีมไฟล์ fwide สลับการสตรีมไฟล์ระหว่าง I / O แบบกว้างและ I / O ที่แคบ http://www.studytonight.com/java/java-io-stream.php https://en.wikipedia.org/wiki/C_file_input/output#fseek

การเข้าถึงไฟล์โดยตรง (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); }

การับและแสดงค่าแบบไม่จัดรูปแบบ (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 กลับเข้าสู่สตรีมไฟล์

การับและแสดงค่าแบบกำหนดรูปแบบ (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

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

การจัดการข้อผิดพลาด (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 ตรวจสอบข้อผิดพลาดของไฟล์ https://fivera.net/hatom-feed-hatom-entry-error-wordpress-solution/

การดำเนินการกับไฟล์ (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);

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

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

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

ฟังก์ชัน 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); }

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

ฟังก์ชัน scanf() ฟังก์ชันที่ใช้ในการแสดงผลข้อมูลออกทางจอภาพ ฟังก์ชัน scanf จำเป็นต้องใส่ Format Code ไว้ในเครื่องหมาย “” ระบุตัวแปรที่ใช้รับข้อมูล โดยใช้เครื่องหมาย & หน้าตัวแปร ยกเว้นอาร์เรย์ ดังตัวอย่าง http://www.comnetsite.com/c-programming-tip21.php

การจัดการไฟล์ I/O Opening Files Closing a File Writing a File Reading a File http://na5cent.blogspot.com/2015/01/java-stream.html

การเปิด-ปิดไฟล์ (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)

การเขียนไฟล์ (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); http://www.cprogramming.com/tutorial/cfileio.html

การอ่านไฟล์ (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);

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