Types Of Input & Output (I/O) Functions - इनपुट और आउटपुट फंक्शन्स के प्रकार
- _Romeyo Boy_
- 26 दिस॰ 2021
- 10 मिनट पठन
अपडेट करने की तारीख: 27 दिस॰ 2021

( I/O ) के लिए कई अनेक लाइब्रेरी फंक्शन्स उपलब्ध हैं, इन्हें तीन व्यापक श्रेणियों में वर्गीकृत किया जा सकता है:-
Console Input/Output Functions
Disk Input/Output Functions
Port Input/Output Functions
01. Console Input/Output Functions ( कंसोल I/O फक्शंस )
कीबोर्ड से इनपुट प्राप्त करने और VDU ( Visual Display Unit ) को आउटपुट लिखने का फंक्शन्स।
02. Disk Input/Output Functions ( डिस्क I/O फक्शंस )
फंक्शन्स, जो फ्लॉपी डिस्क या हार्ड डिस्क पर इनपुट/आउटपुट संचालन करने के लिए संपन्न करता है।
03. Port Input/Output Functions ( पोर्ट I/O फक्शंस )
कंसोल इनपुट/आउटपुट फ़ंक्शंस को आगे दो श्रेणियों में परिभाषित किया जा सकता है:-
Formatted Functions ( फोर्मेटेड फंक्शन्स )
Unformatted Functions ( अनफॉर्मेटेड फंक्शन्स )
इन दोनों बीच मूल अंतर यह है कि फ़ॉर्मेट किए गए फ़ंक्शन इनपुट को कीबोर्ड या वीडीयू ( Visual Display Unit - VDU ) पर प्रदर्शित आउटपुट को हमारी आवश्यकताओं के अनुसार स्वरूपित करने की अनुमति देते हैं। इन दो श्रेणियों में से प्रत्येक के तहत उपलब्ध फ़ंक्शंस को निचे टेबल चित्र में दिखाया गया है।

Formatted Input/Output Functions ( स्वरूपित इनपुट आउटपुट फ़ंक्शन )
स्वरूपित इनपुट आउटपुट फ़ंक्शन किसी विशेष प्रारूप में डेटा को स्वीकार या प्रस्तुत करते हैं। मानक पुस्तकालय ( स्टैण्डर्ड लाइब्रेरी ) में विभिन्न फंक्शन्स होते हैं, जो आउटपुट और इनपुट संचालन करते हैं।
इन फंक्शन्स में से, printf( ) और scanf( ) उपयोगकर्ता को वांछित प्रारूप में इनपुट आउटपुट को प्रारूपित करने की अनुमति देते हैं। printf( ) और scanf( ) का उपयोग किसी भी प्रकार के डेटा ( पूर्णांक, वास्तविक संख्या, वर्ण आदि ) को पढ़ने के लिए किया जा सकता है।
printf( ) function - Show Output { printf( ) फ़ंक्शन - आउटपुट दिखाना }
C भाषा में printf( ) फ़ंक्शन सबसे अधिक उपयोग किया जाने वाला फ़ंक्शन है। यह फ़ंक्शन stdio.h हेडर फ़ाइल में परिभाषित किया गया है और कंसोल ( स्टैण्डर्ड आउटपुट ) पर आउटपुट दिखाने के लिए उपयोग किया जाता है।
printf( ) - Syntax :
int printf( const char *format, arg1, agr2,....);
इस फ़ंक्शन का उपयोग एक साधारण टेक्स्ट, वाक्य या किसी भी वैरिएबल के मान को प्रिंट करने के लिए किया जाता है जो कि int, char, float, या किसी अन्य डेटाटाइप का हो सकता है।
< > Code Example: printf( ) Function print a statement
आइए printf( ) फ़ंक्शन का उपयोग करके एक साधारण वाक्य को प्रिंट करें।
#include <stdio.h>
int main()
{
// using printf()
printf("Welcome To Creative Bloke");
return 0;
}
♻ This Program Output Is :
Welcome To Creative Bloke
< > Code Example: printf( ) Function Print Integer Value
हम %d प्रारूप विनिर्देशक ( फॉर्मेट स्पेसिफायर ) का उपयोग करके वेरिएबल से आने वाले पूर्णांक मान को प्रिंट करने के लिए printf( ) फ़ंक्शन का उपयोग कर सकते हैं।
#include <stdio.h>
int main()
{
int x = 10;
// using printf()
printf("Value of x is: %d", x);
return 0;
}
♻ This Program Output Is :
Value of x is: 10
प्रोग्राम में, ऊपर हमने %d प्रारूप विनिर्देशक का उपयोग किया है, जो कि वहां जोड़े जाने वाले वैल्यू के प्रकार को निर्दिष्ट करने के लिए है। प्रारूप विनिर्देशक %d या %i पूर्णांक मान ( integer value ) के लिए उपयोग किए जाते हैं।
< > Code Example: printf( ) Function Print Character Value
%c फॉर्मेट स्पेसिफायर का उपयोग printf( ) फ़ंक्शन का उपयोग करके कैरेक्टर वेरिएबल वैल्यू को प्रिंट करने के लिए किया जाता है।
#include <stdio.h>
int main()
{
// using printf()
char gender = "Male";
printf("Romeo Boy Gender is: %c", gender);
return 0;
}
♻ This Program Output Is :
Romeo Boy Gender is: Male
< > Code Example: printf( ) Function Print float and double Values
नीचे दिए गए कोड उदाहरण में, हमने float और double वेरिएबल के मानों को प्रिंट करने के लिए printf( ) फ़ंक्शन का उपयोग किया है।
float वैल्यू के लिए हम %f फॉर्मेट स्पेसिफायर का उपयोग करते हैं और डबल वैल्यू के लिए हम %lf फॉर्मेट स्पेसिफायर का उपयोग करते हैं।
#include <stdio.h>
int main()
{
// using printf()
float num1 = 15.50;
double num2 = 15556522.0978678;
printf("Value of num1 is: %f \n", num1);
printf("Value of num2 is: %lf", num2);
return 0;
}
♻ This Program Output Is :
Value of num1 is: 15.500000
Value of num2 is: 15556522.097868
📝Note:- हमने \n एस्केप अनुक्रम ( Escape Sequence ) का उपयोग किया है जो कि पहले printf( ) स्टेटमेंट के अंत में न्यूलाइन के लिए उपयोग किया जाता है ताकि अगला printf( ) स्टेटमेंट आउटपुट अगली लाइन में दिखाया जा सके।
< > Code Example: printf( ) Function Print Multiple Values Outputs
हम एकाधिक वेरिएबल के मान प्रदर्शित करने के लिए एकल printf( ) फ़ंक्शन का उपयोग कर सकते हैं।
#include <stdio.h>
int main()
{
// using printf() for multiple values outputs
int day = 1;
int month = 1;
int year = 2022;
printf("The new happy year date is: %d-%d-%d", day, month, year);
return 0;
}
♻ This Program Output Is :
The new happy year date is: 01-01-2022
जैसा कि आप ऊपर दिए गए कोड उदाहरण में देख सकते हैं, हम printf( ) फ़ंक्शन का उपयोग करके कई वेरिएबल के वैल्यूज को प्रिंट करते समय स्वरूपण ( Formatting ) भी कर सकते हैं।
scanf( ) Function - Take Input { scanf( ) फ़ंक्शन - इनपुट लेंना }
जब हम उपयोगकर्ता से इनपुट लेना चाहते हैं, तो हम scanf( ) फ़ंक्शन का उपयोग करते हैं। जब हम यूजर से इनपुट लेते हैं, तो हम इनपुट वैल्यू को एक वेरिएबल में स्टोर करते हैं।
scanf( ) - Syntax :
int scanf(const char *format, arg1, arg2,....);
scanf( ) फ़ंक्शन का उपयोग उपयोगकर्ता ( यूजर ) से किसी भी डेटाटाइप इनपुट को लेने के लिए किया जा सकता है, हमें केवल यह ध्यान रखना है कि जिस वेरिएबल में हम वैल्यू स्टोर करते हैं, वही डेटाटाइप है।
< > Code Example: scanf( ) Function Take Integer Value Input
यदि हमें उपयोगकर्ता से एक पूर्णांक मान ( integer value ) इनपुट लेना है, तो हमें एक पूर्णांक वेरिएबल को परिभाषित करना होगा और फिर scanf( ) फ़ंक्शन का उपयोग करना होगा।
#include <stdio.h>
int main()
{
// using scanf()
int user_input;
printf("Please enter a your lucky number: ");
scanf("%d", &user_input);
printf("You entered lucky number is: %d", user_input);
return 0;
}
♻ This Program Output Is :
Please enter a your luck number: 5
You entered lucky number is: 5
उपरोक्त कोड उदाहरण में, हमने scanf( ) फ़ंक्शन को सूचित करने के लिए %d प्रारूप विनिर्देशक ( फॉर्मेट स्पेसिफायर ) का उपयोग किया है कि उपयोगकर्ता इनपुट पूर्णांक प्रकार ( integer type ) का होगा।
और हमने वेरिएबल के नाम से पहले & सिंबल का भी इस्तेमाल किया है, क्योंकि &user_input जो कि user_input वेरिएबल के एड्रेस को संदर्भित करता है, जहां यूजर इनपुट वैल्यू को स्टोर की जाएगी।
< > Code Example: scanf( ) Function Take float Value Input
पूर्णांक मान की तरह, हम किसी भी भिन्न डेटाटाइप के लिए इनपुट ले सकते हैं। आइए फ्लोट प्रकार ( float type ) मान के लिए एक उदाहरण देखें।
#include <stdio.h>
int main()
{
// using scanf()
float user_input;
printf("Please enter a decimal number: ");
scanf("%f", &user_input);
printf("You entered: %f", user_input);
return 0;
}
♻ This Program Output Is :
Please enter a decimal number: 5.007
You entered: 5.007
हमने %f प्रारूप विनिर्देशक ( फॉर्मेट स्पेसिफायर ) का उपयोग किया है और एक float प्रकार वेरिएबल परिभाषित किया है। उपयोगकर्ता इनपुट के रूप में double प्रकार मान लेने के लिए ऐसा करने का प्रयास करें। double के लिए प्रारूप विनिर्देशक %lf है।
< > Code Example: scanf( ) Function Take Character Value Input
आइए देखें कि हम उपयोगकर्ता से एक साधारण कैरेक्टर वैल्यू इनपुट कैसे ले सकते हैं।
#include <stdio.h>
int main()
{
// using scanf()
char gender;
printf("Please enter your gender (Male, Female or Old): ");
scanf("%c", &gender);
printf("Your gender is: %c", gender);
return 0;
}
♻ This Program Output Is :
Please enter your gender (M, F or O): Male
Your gender is: Male
< > Code Example: scanf( ) Function Take Multiple Value Inputs
#include <stdio.h>
int main()
{
// using scanf() for multiple inputs
char gender;
int age;
printf("Enter your age and then gender(M, F or O): ");
scanf("%d %c", &age, &gender);
printf("You entered: %d and %c", age, gender);
return 0;
}
♻ This Program Output Is :
Enter your age and then gender(M, F or O): 32 M
You entered: 32 and M
Some Extra Information ( कुछ अतिरिक्त जानकारी )
printf( ) फ़ंक्शन return द्वारा मुद्रित या प्रिंटेड कैरेक्टर्स की संख्या देता है, और scanf( ) इस return द्वारा पढ़े गए कैरेक्टर्स की संख्या देता है।
#include <stdio.h>
int main()
{
int i = printf("CreativeBloke");
printf(" Value of i is: %d", i);
return 0;
}
♻ This Program Output Is :
CreativeBloke Value of i is: 13
इस प्रोग्राम में printf("CreativeBloke"); परिणाम के रूप में 12 वैल्यू लौटाएगा, जो कि वेरिएबल i में संग्रहीत किया जाएगा, क्योंकि CreativeBloke शब्द में 13 वर्ण या कैरेक्टर्स हैं।
पहला printf( ) स्टेटमेंट CreativeBloke स्टेटमेंट को आउटपुट पर भी प्रिंट करेगा।
Unformatted Input/Output Functions ( अस्वरूपित इनपुट और आउटपुट फंक्शन )
बिना स्वरूपित या अस्वरूपित इनपुट आउटपुट फ़ंक्शन डेटा को पढ़ने और लिखने के प्रारूप को नियंत्रित नहीं कर सकते हैं। ये फ़ंक्शन इनपुट और आउटपुट का सबसे बुनियादी रूप हैं और वे उपयोगकर्ता के वांछित प्रारूप में इनपुट या डिस्प्ले आउटपुट की आपूर्ति करने की अनुमति नहीं देते हैं, इसलिए हम उन्हें अनफॉर्मेटेड इनपुट आउटपुट फ़ंक्शन कहते हैं।
अनफ़ॉर्मेट किए गए इनपुट आउटपुट फ़ंक्शंस को कैरेक्टर इनपुट आउटपुट फ़ंक्शंस और स्ट्रिंग इनपुट आउटपुट फ़ंक्शंस के रूप में दो श्रेणियों में वर्गीकृत किया गया है।
Character Input/Output Functions
String Input/Output Functions
Character Input/Output Functions ( कैरेक्टर इनपुट/आउटपुट फ़ंक्शंस )
कैरेक्टर इनपुट फंक्शंस का उपयोग कीबोर्ड से सिंगल कैरेक्टर को पढ़ने के लिए किया जाता है और कैरेक्टर आउटपुट फंक्शन्स का इस्तेमाल स्क्रीन पर सिंगल कैरेक्टर लिखने के लिए किया जाता है। getch( ), getche( ), और getchar ( ) अस्वरूपित कैरेक्टर इनपुट फ़ंक्शन हैं, जबकि putch( ) और putchar( ) अस्वरूपित कैरेक्टर आउटपुट फ़ंक्शन हैं।
String Input/Output Functions ( स्ट्रिंग इनपुट आउटपुट फ़ंक्शंस )
प्रोग्रामिंग में, कैरेक्टर के संग्रह को स्ट्रिंग या कैरेक्टर ऐरे के रूप में जाना जाता है। सी प्रोग्रामिंग में, स्ट्रिंग्स को पढ़ने और लिखने के लिए अलग-अलग इनपुट आउटपुट फंक्शन उपलब्ध हैं। सबसे अधिक इस्तेमाल किया जाता है gets( ) और puts( )।
gets( ) स्ट्रिंग पढ़ने के लिए अस्वरूपित इनपुट फ़ंक्शन है और स्ट्रिंग लिखने के लिए puts( ) अस्वरूपित आउटपुट फ़ंक्शन है।
getchar( ) And putchar() Functions
getchar( ) फ़ंक्शन टर्मिनल से एक कैरेक्टर्स को पढ़ता है और इसे एक पूर्णांक ( integer ) के रूप में लौटाता है। यह फंक्शन एक बार में केवल एक ही कैरेक्टर को पढ़ता है। यदि आप एक से अधिक कैरेक्टर्स पढ़ना चाहते हैं, तो आप इस विधि का उपयोग Loop में कर सकते हैं।
getchar( ) - Syntax :
variable-name = getchar();
putchar( ) फ़ंक्शन स्क्रीन पर दिए गए कैरेक्टर्स को प्रदर्शित करता है और उसी कैरेक्टर्स को लौटाता है। यह फ़ंक्शन भी एक समय में केवल एक ही कैरेक्टर्स प्रदर्शित करता है।
putchar( ) - Syntax :
putchar( variable-name);
यदि आप एक से अधिक कैरेक्टर्स प्रदर्शित करना चाहते हैं, तो Loop में putchar( ) विधि का उपयोग करें।
< > Code Example:
#include <stdio.h>
void main( )
{
int c;
printf("Enter a character: ");
/*
Take a character as input and
store it in variable c
*/
c = getchar();
/*
display the character stored
in variable c
*/
putchar(c);
}
♻ This Program Output Is :
Enter a character: Rbaby
R
जब आप उपरोक्त कोड को संकलित ( Compile ) करेंगे, तो यह आपसे एक मान दर्ज करने के लिए कहेगा। जब आप मान दर्ज करेंगे, तो यह आपके द्वारा दर्ज किया गया मान प्रदर्शित करेगा।
gets( ) And puts( ) Functions
gets( ) फ़ंक्शन stdin मानक या स्टैण्डर्ड इनपुट से बफर में str पॉइंटर द्वारा इंगित एक पंक्ति को पढ़ता है, जब तक कि कोई टर्मिनेटिंग न्यूलाइन या फ़ाइल का अंत ( EOF - End Of File ) नहीं होता है।
gets - Syntax :
char *gets(char *str)
puts( ) फ़ंक्शन स्ट्रिंग str और stdout के लिए एक अनुगामी न्यूलाइन ( trailing newline ) लिखता है।
puts( ) - Syntax :
int puts(const char *str)
puts( ) एक पूर्णांक मान देता है, जिसका मान केवल त्रुटि होने पर ही गारंटीकृत होता है।
< > Code Example:
#include <stdio.h>
void main()
{
/* character array of length 100 */
char str[100];
printf("Enter a string: ");
gets(str);
puts(str);
getch();
return 0;
}
♻ This Program Output Is :
Enter a string: CreativeBloke
CreativeBloke
जब आप उपरोक्त कोड को संकलित करेंगे, तो यह आपको एक स्ट्रिंग दर्ज करने के लिए कहेगा। जब आप स्ट्रिंग दर्ज करेंगे, तो यह आपके द्वारा दर्ज किया गया मान प्रदर्शित करेगा।
Difference between scanf() and gets() { scanf( ) और gets( ) के बीच अंतर }
इन दो फंक्शन्स के बीच मुख्य अंतर यह है कि scanf( ) किसी स्थान का सामना करने पर कैरेक्टर्स को पढ़ना बंद कर देता है, लेकिन gets( ) एक कैरेक्टर के रूप में भी स्थान ( Space )पढ़ता है।
यदि आप scanf( ) का उपयोग करके Creative Bloke के रूप में एक नाम दर्ज करते हैं, तो यह केवल Creative को पढ़ेगा और संग्रहीत करेगा और स्थान के बाद भाग को छोड़ देगा। लेकिन gets( ) फ़ंक्शन इसे पूरी तरह से पढ़ेगा।
getch( ) Functions
getch( ) कैरेक्टर इनपुट फ़ंक्शन है। यह अस्वरूपित इनपुट फ़ंक्शन है, जिसका अर्थ है कि यह उपयोगकर्ता को उनके प्रारूप ( Format ) में इनपुट पढ़ने की अनुमति नहीं देता है। यह कीबोर्ड से एक कैरेक्टर को पढ़ता है लेकिन दबाए गए कैरेक्टर को इको ( echo ) नहीं करता है और कैरेक्टर को दबाया जाता है। इसे हेडर फ़ाइल conio.h में परिभाषित किया गया है।
getch( ) - Syntax :
character_variable = getch();
< > Code Example: Reading Character Using getch() & Displaying
#include <stdio.h>
#include <conio.h>
void main()
{
char ch;
printf(“Press any character: ”);
ch = getch();
printf(“\n Pressed character is: %c”, ch);
}
♻ This Program Output Is :
Press any character:
Pressed character is: s
📝Note:- getch( ) का उपयोग करते समय दबाया गया कैरेक्टर प्रतिध्वनित नहीं है। यहां दबाया गया
कैरेक्टर s है और इसे प्रदर्शित किया जाता है printf( ) द्वारा।
getche( ) Functions
getch( ) की तरह, getche ( ) भी कैरेक्टर इनपुट फंक्शन है। यह अस्वरूपित इनपुट फ़ंक्शन है, जिसका अर्थ है कि यह उपयोगकर्ता को उनके प्रारूप ( Format ) में इनपुट पढ़ने की अनुमति नहीं देता है। getch( ) और getche( ) के बीच अंतर यह है कि getche( ) इकोज दबा हुआ कैरेक्टर है।
कीबोर्ड से किसी एक अक्षर को पढ़ने के लिए getche( ) फंक्शन का प्रयोग किया जाता है। एंटर कुंजी की प्रतीक्षा किए बिना पठन ( Reading ) तुरंत स्क्रीन पर प्रदर्शित होता है।इसे हेडर फ़ाइल conio.h में भी परिभाषित किया गया है।
getche( ) - Syntax :
character_variable = getche();
< > Code Example: Reading Character Using getche() & Displaying
#include <stdio.h>
#include <conio.h>
void main()
{
char ch;
printf(“Press any character: ”);
ch = getche();
printf(“\n Pressed character is: %c”, ch);
}
♻ This Program Output Is :
Press any character: R
Pressed character is: R
putch( ) Functions
वर्तमान कर्सर स्थान पर स्क्रीन पर कैरेक्टर प्रिंट करने के लिए putch( ) फ़ंक्शन का उपयोग किया जाता है। यह अस्वरूपित कैरेक्टर आउटपुट फ़ंक्शन है। इसे हेडर फ़ाइल conio.h में परिभाषित किया गया है।
putch( ) - Syntax :
putch(character);
or
putch(character_variable);
< > Code Example: Displaying Character Using putch( ) Function
#include <stdio.h>
#include <conio.h>
void main()
{
char ch;
clrscr(); /* Clear the screen */
printf(“Press any character: ”);
ch = getch();
printf(“\n Pressed character is: ”);
putch(ch);
getch(); /* Holding output */
}
♻ This Program Output Is :
Press any character:
Pressed character is: e
📝Note:- getch( ) का उपयोग करते समय दबाया गया कैरेक्टर प्रतिध्वनित ( Echoed ) नहीं होता है। यहां दबाया गया कैरेक्टर e है और इसे putch( ) द्वारा प्रदर्शित किया जाता है।
Comments