C Console I/O

Introduction to C Console I/O

C language में input और output को 2 तरीके से process किया जा सकता है। एक तो आप console के माध्यम से input दे सकते है और output देख सकते है। C language में input और output के लिए ये standard और default तरीका होता है।

Console एक black window होती है जो input के समय compiler के द्वारा show की जाती है। Program के execution के बाद उसका result भी इसी window में दिखाया जाता है।

दूसरे तरीके में आप disk files को यूज़ करते हुए भी input दे सकते है और उनमें output भी store कर सकते है। ये totally application की need पर depend करता है की आप कौनसा तरीका यूज़ करते है।

Console के माध्यम से आप इस तरह का data input कर सकते है।

  1. Strings
  2. Numbers
  3. Characters
  4. All primitive types of data (float, double, long etc)

Console I/O के लिए 2 standard device होते है।

  1. Keyboard – Keyboard एक standard input device है। By default एक C program keyboard के माध्यम से ही input लेता है।
  2. Monitor – Monitor (screen, LCD) एक standard output device होता है। यदि आप कोई दूसरा तरीका यूज़ नहीं करते है तो by default एक C program monitor पर ही output दिखाता है। लेकिन आप चाहे तो किसी external device पर भी output show कर सकते है।

C Console I/O Functions

Console के माध्यम से input output perform करने के लिए C language आपको built in functions provide करती है। इनमें से कुछ के बारे में आप पहले भी पढ़ चुके है। निचे इनके बारे में उदाहरण सहित समझाया जा रहा है।

scanf()

scanf() एक input function है। ये user से keyboard के माध्यम से input लेने के लिए use किया जाता है। इसके माध्यम से आप user से सभी तरह के primitive types का data input के रूप में ले सकते है। इस function का general syntax निचे दिया जा रहा है।

scanf(“%d”,&variable-name);

ऊपर दिए गए syntax में %d एक format specifier है जो compiler को बताता है की input के रूप में integer value ली जायेगी। हर type के लिए C language में पहले से ही एक format specifier define किया गया है। कुछ common format specifiers की list निचे दी जा रही है।

  1. %d – जब आप किसी integer variable में value store करना चाहते है तो इस format specifier को यूज़ करते है।
  2. %c – किसी character variable में value store करने के लिए आप %c format specifier को use करते है।
  3. %f – Float variables में values store करने के लिए आप %f format specifier यूज़ करते है।
  4. %s – Strings के लिए आप %s format specifier यूज़ करते है।
  5. %u – Unsigned integers के लिए आप इस specifier को use करते है।
  6. %ld – Long int को specify करने के लिए यह specifier use किया जाता है।

& symbol memory के संदर्भ में यूज़ किया जाता है। इसे address of operator कहा जाता है। जब आप एक variable को initialize करते है तो उस variable के नाम से memory में space allot होता है। & के माध्यम से उस space को target किया जाता है। आइये अब scanf() function के use को एक उदाहरण के माध्यम से समझने का प्रयास करते है।

#include <stdio.h>
int main()
{
    int num;
    printf(“Enter a number:”);

    /* Taking input from user and storing in num using scanf() function */
    scanf(“%d”,&num);
    printf(“nYour entered number is: %d”,num);
    return 0;
}    

ऊपर दिया गया program निचे दिया गया output generate करता है।

Enter a number :
7
Your entered number is : 7

printf()

printf() एक output function है। ये user को monitor के माध्यम से output show करने के लिए यूज़ किया जाता है। इस function के द्वारा आप सभी तरह के primitive types का data यूज़र को show कर सकते है।

इस function में आप print करने के directly string भी pass कर सकते है या फिर कोई variable भी pass कर सकते है जिसकी value आप print करना चाहते है। String को double quotes में लिखा जाता है। आप चाहे तो string और variable दोनों एक साथ भी pass कर सकते है।

Variables की value को किसी निश्चित जगह पर print() करने के लिए आप format specifier भी यूज़ कर सकते है।

इसका general syntax निचे दिया जा रहा है।

printf(“string/variable”);

or

printf(“string format-specifier string”,variable-name)

printf() function के यूज़ को निचे उदाहरण के माध्यम से समझाया जा रहा है।

#include <stdio.h>
int main()
{
   int a=5;
   int b=4;
   int result;
   result = a+b;

   /* Printing all variable values using printf() function */
   printf(“Sum of %d and %d is : %d”,a,b,result);
  return 0;
}

ऊपर दिया गया program निचे दिया गया output generate करता है।

Sum of 5 and 4 is :  9

getchar() & putchar()

getchar() function console के माध्यम से single character read करता है। इस character को ये integer के रूप में return करता है। यानी इसके result को आप किसी integer variable में store करते है। C में characters integer type के होते है। C में int और char को आसानी से assignment के द्वारा ही cast किया जा सकता है।

चाहे आप कितने भी characters enter करें लेकिन ये एक बार में एक ही character read करता है। यदि आप एक से अधिक characters read करना चाहते है तो इस function को loop में use कर सकते है।

putchar() function को इसमें pass किये गए character को screen पर display करने के लिए use किया जाता है। ये function भी एक बार में एक character ही screen पर display करता है। यदि आप एक से अधिक characters screen पर display करना चाहते है तो इस function को loop में use कर सकते है।

इन दोनों functions को निचे उदाहरण के माध्यम से समझाया गया है।

#include <stdio.h>
int main()
{
   char data;
   printf(“Enter some characters. To exit enter @ symbol.”);
   while(data != ‘@’)
   {
       /* Taking character from user using keyboard */
       data = getchar();

       /* Displaying character to screen */
       printf(“nYou entered this character :”,putchar(data));   
   }  
   return 0;
}

ऊपर दिया गया program निचे दिया गया output generate करता है।

Enter some characters. To exit enter @ symbol.
a
You entered this character : a
b
You entered this character : b
@
You entered this character : @

gets() and puts()

gets() function keyboard से string read करने के लिए use किया जाता है। Read की गयी string को एक character array में store किया जाता है। ये function argument के रूप में character array लेता है।

puts() function के माध्यम से एक string को screen पर display किया जाता है। इस function में भी argument के रूप में character array pass किया जाता है।

इन दोनों functions को निचे उदाहरण के माध्यम से समझाया गया है।

#include <stdio.h>
int main()
{
   char arr[60];
   printf(“Enter a string : “);

   /* Reading string */
   gets(arr);
   printf(“nYou entered following string:”)

   /* Writing string */
   puts(arr);
   return 0;
}  

ऊपर दिया गया program निचे दिया गया output generate करता है।

Enter a string :  
Best Hindi Tutorials
You entered following string : Best Hindi Tutorials