কম্পিউটার টিউটোরিয়াল

C++-এ clocale হেডার ফাইল


C++-এ <clocale> হেডার ফাইলটির ব্যবহার দেখানো হলো এই টাস্ক।

<clocale> হেডার ফাইলটি লোকালাইজেশন লাইব্রেরির অংশ যা আরও C++ স্ট্যান্ডার্ড লাইব্রেরির অংশ। মূলত এটি C স্ট্যান্ডার্ড লাইব্রেরিতে <locale.h> নামে ছিল।

এই হেডার ফাইলে থাকা ফাংশন এবং ডিক্লেশনগুলো বিভিন্ন দেশের ডেট ফরম্যাট এবং করেন্সি সিম্বল সম্পর্কিত কাজে ব্যবহৃত হয়।

<clocale> হেডার ফাইলে থাকা ফাংশনগুলো হল setlocale() এবং localeconv()

এই হেডার ফাইলে ডিফাইন করা ম্যাক্রোগুলো যেগুলো এই দুটি ফাংশনে ব্যবহার হয় সেগুলো হল −

LC_ALL-> এটি সব কিছু সেট করে।

LC_COLLATE-> এটি strcoll এবং strxfrm ফাংশনগুলোর ওপর প্রভাব ফেলে।

LC_CTYPE-> এটি সব ক্যারেক্টার ফাংশনগুলোর ওপর প্রভাব ফেলে।

LC_MONETARY-> এটি localeconv ফাংশন দ্বারা প্রদান করা মনিটারি ইনফরমেশনের ওপর প্রভাব ফেলে।

LC_NUMERIC-> এটি ডেসিমেল-পয়েন্ট ফরম্যাটিং এবং localeconv ফাংশন দ্বারা প্রদান করা ইনফরমেশনের ওপর প্রভাব ফেলে।

LC_TIME-> এটি strftime ফাংশনটির ওপর প্রভাব ফেলে।

localeconv()

localeconv() ফাংশনটি লোকেশন-ডিপেন্ডেন্ট ইনফরমেশন সেট বা রিড করে।

সিনট্যাক্স

localeconv()-এর সিনট্যাক্স নিচের মতো −

Struct lconv*localeconv()

setlocale()

setlocale() ফাংশনটি নির্দিষ্ট সিস্টেম লোকেল ইনস্টল করে এবং বর্তমান প্রোগ্রাম অনুযায়ী লোকেল ইনফরমেশন সেট করে।

সিনট্যাক্স

setlocale()-এর সিনট্যাক্স নিচের মতো−

char *setlocale(int category, const char *locale)

উদাহরণ

Input: setlocale(LC_ALL, "en_GB") s = setlocale(LC_ALL, NULL) Output: C

setlocale() একটি স্ট্রিংয়ের পয়েন্টার রিটার্ন করে, যদি সেটি আইডেন্টিফাই করতে পারে তবে C লোকেল রিটার্ন করবে অন্যথায় শুধু নাল পয়েন্টার রিটার্ন করবে এবং এই কেসে এটি “C” রিটার্ন করল।

নিচের প্রোগ্রামে ব্যবহৃত পদ্ধতি −

  • প্রথমে main() ফাংশনের ভিতরে setlocale() ফাংশনটি কল করুন এবং ক্যাটেগরি হিসেবে LC_MONETARY এবং লোকেল হিসেবে en_GB সেট করুন।
  • তারপর lconv স্ট্রাকচার তৈরি করুন char pointer-এ, ধরুন, lc এবং এটিকে localeconv() ফাংশন কল করার সমান রাখুন যাতে localeconv() ফাংশনটি আমাদের তৈরি করা স্ট্রাকচারটিকে পয়েন্টার রিটার্ন করতে পারে।
  • তারপর printf স্টেটমেন্ট ব্যবহার করুন বর্তমান করেন্সি প্রিন্ট করার জন্য।

উদাহরণ

#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; }

আউটপুট

যদি উপরের কোডটি রান করি তবে নিচের আউটপুট জেনারেট হবে −

£

আউটপুটে আমরা পাউন্ড সিম্বল পেলাম যা গ্রেট ব্রিটেনের করেন্সি কারণ setlocale ফাংশনে আমরা মনিটারি ক্যাটেগরি সিলেক্ট করলাম যা LC_MONETARY এবং লোকেল সেট করলাম "en_GB" যেখানে GB হল গ্রেট ব্রিটেনের সংক্ষিপ্ত রূপ। আরও আমরা lconv স্ট্রাকচার তৈরি করলাম এবং এটিকে গ্রেট ব্রিটেনের বর্তমান করেন্সি সিম্বল ডিসপ্লে করার জন্য ব্যবহার করলাম, সেটি £।


  1. সি/সি++-এ rename() ফাংশন

  2. C++-এ fread() ফাংশন

  3. C++-এ log() ফাংশন

  4. C++-এ swap() ফাংশন