Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

C में fgets() और gets()

fgets()

फ़ंक्शन fgets() का उपयोग न्यू लाइन कैरेक्टर तक स्ट्रिंग पढ़ने के लिए किया जाता है। यह ऐरे बाउंड चेक करता है और यह सुरक्षित भी है।

यहां C भाषा में fgets() का सिंटैक्स है:

char *fgets(char *string, int n, FILE *stream)

यहां,

string - यह char के ऐरे का पॉइंटर है।

n - पढ़े जाने वाले कैरेक्टर्स की संख्या।

stream - यह एक फ़ाइल ऑब्जेक्ट का पॉइंटर है।

यहां C भाषा में fgets() का एक उदाहरण है:

उदाहरण

#include <stdio.h>
#define FUNC 8

int main() {
   char b[FUNC];
   fgets(b, FUNC, stdin);
   printf("स्ट्रिंग है: %s\n", b);
   return 0;
}

आउटपुट

इनपुट स्ट्रिंग stdin स्ट्रीम में "Hello World!" है।

स्ट्रिंग है: Hello W

उपरोक्त प्रोग्राम में, char टाइप का एक ऐरे घोषित किया गया है। फ़ंक्शन fgets() STDIN स्ट्रीम से दिए गए नंबर तक कैरेक्टर्स पढ़ता है।

gets()

फ़ंक्शन gets() का उपयोग स्टैंडर्ड इनपुट डिवाइस से स्ट्रिंग पढ़ने के लिए किया जाता है। यह ऐरे बाउंड चेक नहीं करता और यह असुरक्षित भी है।

यहां C भाषा में gets() का सिंटैक्स है:

char *gets(char *string);

यहां,

string - यह char के ऐरे का पॉइंटर है।

यहां C भाषा में gets() का एक उदाहरण है:

उदाहरण

#include <stdio.h>
#include <string.h>

int main() {
   char s[100];
   int i;
   printf("\nएक स्ट्रिंग दर्ज करें: ");
   gets(s);
   for (i = 0; s[i] != '\0'; i++) {
      if (s[i] >= 'a' && s[i] <= 'z') {
         s[i] = s[i] - 32;
      }
   }
   printf("\nअपर केस में स्ट्रिंग = %s", s);
   return 0;
}

आउटपुट

एक स्ट्रिंग दर्ज करें: hello world!
अपर केस में स्ट्रिंग = HELLO WORLD!

उपरोक्त प्रोग्राम में, char ऐरे की स्ट्रिंग s को अपर केस स्ट्रिंग में बदल दिया जाता है। फ़ंक्शन gets() का उपयोग stdin स्ट्रीम से स्ट्रिंग पढ़ने के लिए किया जाता है।

महत्वपूर्ण चेतावनी

विशेषता fgets() gets()
बाउंड चेकिंग हां (सुरक्षित) नहीं (असुरक्षित - बफर ओवरफ्लो संभव)
न्यूलाइन हैंडलिंग न्यूलाइन शामिल करता है (यदि फिट होता है) न्यूलाइन को डिस्कार्ड करता है
स्टैंडर्ड C89, C99, C11 C11 में हटाया गया (डिप्रिकेटेड)
रिटर्न ऑन EOF NULL NULL

सिफारिश: कभी भी gets() का उपयोग न करें। हमेशा fgets() या C11 में gets_s() का उपयोग करें।

  1. JavaScript में TextDecoder और TextEncoder JavaScript में TextDecoder और TextEncoder

    TextEncoder का उपयोग दी गई स्ट्रिंग को UTF-8 मानक में बदलने के लिए किया जाता है। यह स्ट्रिंग से Uint8Array लौटाता है।TextDecoder का उपयोग बाइट्स की स्ट्रीम को कोड पॉइंट्स की स्ट्रीम में डिकोड करने के लिए किया जाता है। यह UTF-8, ISO-8859-2, KOI8-R, GBK आदि को डिकोड कर सकता है।JavaScript में TextDecod

  1. - C भाषा में sprintf() और sscanf() फ़ंक्शन का उपयोग

    sscanf() फ़ंक्शन यह फ़ंक्शन एक कैरेक्टर स्ट्रिंग से डेटा पढ़ता है। सिंटैक्स sscanf(string, format_specifier, &var1, &var2, ...); string: वह कैरेक्टर स्ट्रिंग जिससे पढ़ना है format_specifier: फॉर्मेटिंग जानकारी वाला स्ट्रिंग var1, var2: इनपुट डेटा आइटम के लिए चर उदाहरण sscanf(str, %d:%d, &hours,

  1. C में स्ट्रिंग को नंबर और नंबर को स्ट्रिंग में बदलना C में स्ट्रिंग को नंबर और नंबर को स्ट्रिंग में बदलना

    दो रूपांतरण फंक्शन्स sscanf(): स्ट्रिंग को नंबर में बदलता है। sprintf(): नंबर को स्ट्रिंग में बदलता है। स्ट्रिंग टू नंबर: sscanf() सिंटैक्स: sscanf(string_name, control_string, &var_list); उदाहरण: तारीख पार्स करना #include <stdio.h> int main() { char a[20] = 02 01 2010; int day, m