C प्रोग्रामिंग भाषा में कैरेक्टर पढ़ने और लिखने के फंक्शन निम्नलिखित हैं:
- सबसे सरल कंसोल I/O फंक्शन getche() है, जो कीबोर्ड से एक कैरेक्टर पढ़ता है, और putchar(), जो स्क्रीन पर एक कैरेक्टर प्रिंट करता है।
- getche() फंक्शन तब तक काम करता है जब तक कोई कुंजी दबाई नहीं जाती और फिर उसका मान वापस करता है। दबाई गई कुंजी स्वचालित रूप से स्क्रीन पर इको भी होती है।
- putchar() फंक्शन अपने कैरेक्टर आर्गुमेंट को वर्तमान कर्सर स्थिति पर स्क्रीन पर लिखता है।
- getche() और putchar() के डिक्लेरेशन हैं:
int getche(void); int putchar(int c);
- getche() और putchar() के लिए हेडर फाइल CONIO.H में है।
उदाहरण
यहां एक उदाहरण है जो कीबोर्ड से कैरेक्टर पढ़ता है और उन्हें रिवर्स केस में प्रिंट करता है। इसका मतलब है कि अपरकेस लोअरकेस के रूप में प्रिंट होता है और लोअरकेस अपरकेस के रूप में प्रिंट होता है।
जब भी पीरियड टाइप किया जाता है तो प्रोग्राम रुक जाता है। हेडर फाइल CTYPE.H की आवश्यकता islower() लाइब्रेरी फंक्शन द्वारा होती है, जो तब ट्रू लौटाता है जब उसका आर्गुमेंट लोअरकेस होता है और अन्यथा फाल्स।
#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 != '.'); /* रुकने के लिए पीरियड का उपयोग */
return 0;
}
आउटपुट
enter chars, enter a period to stop tTuUtToOrRiIaAlLsS..
getche() के दो महत्वपूर्ण वेरिएशन
पहला: getchar() के साथ परेशानी यह है कि यह कैरिज रिटर्न दर्ज होने तक इनपुट को बफर करता है। getchar() फंक्शन STDIO.H हेडर फाइल का उपयोग करता है।
दूसरा: getche() पर एक दूसरा, अधिक उपयोगी वेरिएशन getch() है, जो ठीक getche() की तरह काम करता है सिवाय इसके कि आपके द्वारा टाइप किया गया कैरेक्टर स्क्रीन पर इको नहीं होता। यह CONIO.H हेडर का उपयोग करता है।