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

C भाषा में वर्ण विश्लेषण फंक्शन्स (Character Analysis Functions)


ctype.h लाइब्रेरी

<ctype.h> हेडर फाइल में वर्णों के विश्लेषण और रूपांतरण के लिए स्टैंडर्ड फंक्शन्स होते हैं। ये int लेते हैं (ताकि EOF संभाल सकें) और int लौटाते हैं।

विश्लेषण फंक्शन्स (Analysis Functions)

फंक्शनविवरणरिटर्न (सत्य=शून्येतर)
isalpha(c)वर्णमाला अक्षर (A-Z, a-z)हाँ
isdigit(c)दशमलव अंक (0-9)हाँ
isalnum(c)अक्षर या अंकहाँ
islower(c)निम्नलिखित अक्षर (a-z)हाँ
isupper(c)बड़े अक्षर (A-Z)हाँ
isspace(c)व्हाइटस्पेस (स्पेस, टैब, नई लाइन, आदि)हाँ
ispunct(c)विराम चिह्न (न अक्षर, न अंक, न स्पेस)हाँ
isprint(c)प्रिंट करने योग्य (स्पेस सहित)हाँ
isgraph(c)प्रिंट करने योग्य (स्पेस छोड़कर)हाँ
iscntrl(c)नियंत्रण वर्णहाँ
isxdigit(c)हेक्साडेसिमल अंक (0-9, A-F, a-f)हाँ

रूपांतरण फंक्शन्स (Conversion Functions)

उदाहरण प्रोग्राम

#include <stdio.h>
#include <ctype.h>

void analyzeChar(int ch) {
    printf("वर्ण: '%c' (ASCII %d)\n", isprint(ch) ? ch : '?', ch);
    printf("  isalpha: %s\n", isalpha(ch) ? "हाँ" : "नहीं");
    printf("  isdigit: %s\n", isdigit(ch) ? "हाँ" : "नहीं");
    printf("  isalnum: %s\n", isalnum(ch) ? "हाँ" : "नहीं");
    printf("  islower: %s\n", islower(ch) ? "हाँ" : "नहीं");
    printf("  isupper: %s\n", isupper(ch) ? "हाँ" : "नहीं");
    printf("  isspace: %s\n", isspace(ch) ? "हाँ" : "नहीं");
    printf("  ispunct: %s\n", ispunct(ch) ? "हाँ" : "नहीं");
    printf("  tolower: %c\n", tolower(ch));
    printf("  toupper: %c\n", toupper(ch));
}

int main() {
    char input[100];
    printf("वर्ण/स्ट्रिंग दर्ज करें: ");
    fgets(input, sizeof(input), stdin);
    
    for (int i = 0; input[i] && input[i] != '\n'; i++) {
        analyzeChar((unsigned char)input[i]);
        printf("\n");
    }
    return 0;
}

आउटपुट उदाहरण (इनपुट: "A")

वर्ण: 'A' (ASCII 65)
  isalpha: हाँ
  isdigit: नहीं
  isalnum: हाँ
  islower: नहीं
  isupper: हाँ
  isspace: नहीं
  ispunct: नहीं
  tolower: a
  toupper: A

पूर्ण स्ट्रिंग रूपांतरण उदाहरण


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

void toUpperStr(char *str) {
    for (int i = 0; str[i]; i++)
        str[i] = toupper((unsigned char)str[i]);
}

void toLowerStr(char *str) {
    for (int i = 0; str[i]; i++)
        str[i] = tolower((unsigned char)str[i]);
}

int main() {
    char str[] = "Hello World 123!";
    printf("मूल: %s\n", str);
    
    toUpperStr(str);
    printf("बड़े अक्षर: %s\n", str);
    
    toLowerStr(str);
    printf("छोटे अक्षर: %s\n", str);
    return 0;
}

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

⚠ undefined behavior से बचें

ctype.h फंक्शन्स का तर्क unsigned char रेंज (0-255) या EOF होना चाहिए। सादे char (जो साइन्ड हो सकता है) पास करने पर नकारात्मक मानों के लिए UB होता है।


// गलत
if (isalpha(ch)) ...

// सही
if (isalpha((unsigned char)ch)) ...

लोकल (Locale) निर्भरता

  • डिफ़ॉल्ट "C" लोकल में केवल ASCII वर्ण पहचाने जाते हैं
  • setlocale(LC_CTYPE, "") सेट करने पर सिस्टम लोकल के अनुसार व्यवहार (उदाहरण: उच्चारित वर्ण)
  • पोर्टेबल कोड के लिए "C" लोकल मान लें या स्पष्ट रूप से सेट करें
  1. C में टोकन क्या हैं? C में टोकन क्या हैं?

    एक टोकन एक प्रोग्राम का सबसे छोटा तत्व है जो कंपाइलर के लिए सार्थक है। कंपाइलर जो एक प्रोग्राम को सबसे छोटी इकाइयों में तोड़ता है, उन्हें टोकन कहा जाता है और ये टोकन संकलन के विभिन्न चरणों में आगे बढ़ते हैं।प्रकारटोकन विभिन्न प्रकारों में वर्गीकृत हैं, जिनका उल्लेख नीचे किया गया है:कीवर्ड्सआइडेंटिफा

  1. C भाषा में लूप कंट्रोल स्टेटमेंट्स क्या हैं? फ्लो चार्ट और प्रोग्राम के साथ समझाएं C भाषा में लूप कंट्रोल स्टेटमेंट्स क्या हैं? फ्लो चार्ट और प्रोग्राम के साथ समझाएं

    लूप कंट्रोल स्टेटमेंट्स स्टेटमेंट्स के सेट को दोहराने के लिए उपयोग किए जाते हैं। वे हैं: for लूप while लूप do-while लूप for लूप सिंटैक्स for(initialization; condition; increment/decrement) { // लूप बॉडी } फ्लो चार्ट (Condition पर वापस) आरंभीकरण - आमतौर पर एक असाइनमेंट स्टेटमेंट जो लूप क

  1. C प्रोग्राम को मशीन कोड में बदलने के 4 चरण C प्रोग्राम को मशीन कोड में बदलने के 4 चरण

    प्रोग्राम बनाने और चलाने की प्रक्रिया C स्रोत कोड से निष्पादन योग्य मशीन कोड तक 4 मुख्य चरण होते हैं: लेखन और संपादन (Writing & Editing) संकलन (Compilation) लिंकिंग (Linking) निष्पादन (Execution) चरण 1: लेखन और संपादन टेक्स्ट एडिटर (VS Code, Vim, Notepad++) में कोड लिखें फाइल सहेजें: .c एक्सटे

© कॉपीराइट https://in.wsxdn.com सर्वाधिकार सुरक्षित
फंक्शनविवरण
tolower(c)बड़े अक्षर को छोटे में बदलें
toupper(c)छोटे अक्षर को बड़े में बदलें