कार्य को देखते हुए C++ में
<क्लोकल> हेडर फ़ाइल स्थानीयकरण पुस्तकालय का एक हिस्सा है जो आगे सी ++ मानक पुस्तकालय का एक हिस्सा है। मूल रूप से यह C मानक पुस्तकालय में था जिसका नाम
इस हेडर फ़ाइल में शामिल कार्यों और घोषणाओं का उपयोग उन कार्यों के लिए किया जाता है जिनके लिए विभिन्न देशों के दिनांक स्वरूपों और मुद्रा प्रतीकों की आवश्यकता होती है।
<क्लोकल> हेडर फाइल में शामिल फंक्शन हैं सेटलोकेल () और लोकेलकॉनव ()
इस हेडर फ़ाइल में परिभाषित और इन दो कार्यों में उपयोग किए जाने वाले मैक्रोज़ हैं -
LC_ALL -> यह सब कुछ सेट करता है।
LC_COLLATE-> यह strcoll और strxfrm कार्यों को प्रभावित करता है।
LC_CTYPE-> यह सभी चरित्र कार्यों को प्रभावित करता है।
LC_MONETARY-> यह localeconv फ़ंक्शन द्वारा प्रदान की गई मौद्रिक जानकारी को प्रभावित करता है।
LC_NUMERIC-> यह दशमलव-बिंदु स्वरूपण और localeconv फ़ंक्शन द्वारा प्रदान की गई जानकारी को प्रभावित करता है।
LC_TIME-> यह strftime फ़ंक्शन को प्रभावित करता है।
लोकेलकॉनव ()
localeconv() फ़ंक्शन स्थान पर निर्भर जानकारी को सेट या पढ़ता है।
सिंटैक्स
localeconv() के लिए वाक्य रचना इस प्रकार है -
Struct lconv*localeconv()
सेटलोकेल ()
सेटलोकेल () फ़ंक्शन निर्दिष्ट सिस्टम लोकेल को स्थापित करता है और वर्तमान प्रोग्राम के अनुसार लोकेल जानकारी सेट करता है।
सिंटैक्स
सेटलोकेल () का सिंटैक्स इस प्रकार है -
char *setlocale(int category, const char *locale)
उदाहरण
Input: setlocale(LC_ALL, "en_GB") s = setlocale(LC_ALL, NULL) Output: C
setlocale() स्ट्रिंग के लिए एक पॉइंटर लौटाता है, अगर यह पहचानता है कि यह सी लोकेल लौटाएगा अन्यथा यह सिर्फ एक शून्य सूचक देता है और इस मामले में यह "सी" देता है।
निम्नलिखित कार्यक्रम में उपयोग किया गया दृष्टिकोण इस प्रकार है -
- मुख्य() फ़ंक्शन के अंदर पहले सेटलोकेल () फ़ंक्शन को कॉल करें और श्रेणी को LC_MONETARY और स्थान को en_GB के रूप में सेट करें।
- फिर चार पॉइंटर के साथ संरचना lconv बनाएं, मान लें, lc और इसे localeconv() फ़ंक्शन की कॉलिंग के बराबर रखें ताकि localeconv() फ़ंक्शन हमारे द्वारा बनाई गई संरचना के लिए एक पॉइंटर लौटा सके। ली>
- वर्तमान मुद्रा को प्रिंट करने के लिए प्रिंटफ स्टेटमेंट का उपयोग करें।
उदाहरण
#include <iostream> #include <locale.h> using namespace std; int main() { setlocale(LC_MONETARY, "en_GB"); struct lconv* lc = localeconv(); printf("%s ", lc->currency_symbol); return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
£
आउटपुट में हमें पाउंड का मुद्रा प्रतीक मिलता है जो कि ग्रेट ब्रिटेन की मुद्रा है क्योंकि सेटलोकेल फ़ंक्शन में हमने मौद्रिक श्रेणी का चयन किया है जो कि LC_MONETARY है और लोकेल को "en_GB" के रूप में सेट करता है जहां GB ग्रेट ब्रिटेन का संक्षिप्त नाम है। इसके अलावा हमने lconv संरचना बनाई और इसका उपयोग ग्रेट ब्रिटेन के वर्तमान मुद्रा प्रतीक, यानी £ को प्रदर्शित करने के लिए किया।