ในภาษาซี อักขระการอ่านและการเขียนมีดังนี้ -
-
ฟังก์ชันคอนโซล I/O ที่ง่ายที่สุดคือ getche () ซึ่งอ่านอักขระจากแป้นพิมพ์ และ putchar () ซึ่งพิมพ์อักขระไปที่หน้าจอ
-
ฟังก์ชัน getche () จะทำงานจนกว่าจะมีการกดปุ่ม จากนั้นจึงคืนค่ากลับ ปุ่มที่กดจะสะท้อนไปยังหน้าจอโดยอัตโนมัติด้วย
-
ฟังก์ชัน putchar () จะเขียนอาร์กิวเมนต์อักขระไปยังหน้าจอที่ตำแหน่งเคอร์เซอร์ปัจจุบัน
-
คำประกาศสำหรับ getche () และ putchar () คือ −
int getche (void); int putchar (int c);
-
ไฟล์ส่วนหัวสำหรับ getche () และ putchar () อยู่ใน CONIO.H.
ตัวอย่าง
นี่คือตัวอย่างที่อ่านอักขระจากแป้นพิมพ์และพิมพ์เป็นตัวพิมพ์กลับ ซึ่งหมายความว่าตัวพิมพ์ใหญ่จะพิมพ์เป็นตัวพิมพ์เล็กและพิมพ์เล็กเป็นตัวพิมพ์ใหญ่
โปรแกรมจะหยุดทุกครั้งที่พิมพ์จุด ไฟล์ส่วนหัว CTYPE.H จำเป็นสำหรับฟังก์ชันไลบรารี islower() ซึ่งจะคืนค่า จริง หากอาร์กิวเมนต์เป็นตัวพิมพ์เล็ก และเป็นเท็จ หากไม่ใช่
ต่อไปนี้เป็นโปรแกรม C สำหรับ อักขระการอ่านและการเขียน −
# include <stdio.h> # include <conio.h> # include <ctype.h> main(void){ char ch; printf (“enter chars, enter a period to stop\n”); do{ ch = getche (); if ( islower (ch) ) putchar (toupper (ch)); else putchar (tolower (ch)); } while (ch! = ‘.’); /* use a period to stop */ return 0; }
ผลลัพธ์
เมื่อโปรแกรมข้างต้นทำงาน มันจะให้ผลลัพธ์ดังต่อไปนี้ −
enter chars, enter a period to stop tTuUtToOrRiIaAlLsS..
มีสองรูปแบบที่สำคัญใน getche() ซึ่งมีดังนี้ -
อันแรกมีดังนี้ −
-
ปัญหาของ getchar() คือการบัฟเฟอร์อินพุตจนกว่าจะมีการป้อนค่าแคร่ตลับหมึก
-
ฟังก์ชัน getchar() ใช้ไฟล์ส่วนหัว STDIO.H
อันที่สองมีดังนี้ −
-
รูปแบบที่สองที่มีประโยชน์มากกว่าใน getche() คือ getch() ซึ่งทำงานเหมือนกับ getche () อย่างแม่นยำ ยกเว้นว่าอักขระที่คุณพิมพ์จะไม่สะท้อนไปยังหน้าจอ ใช้ส่วนหัว CONIO.H