C++:
কমান্ড লাইন আর্গুমেন্টগুলি পড়া
কিভাবে:
C++-এ, কমান্ড-লাইন আর্গুমেন্টগুলি main()
-এ ক্যারেক্টার পয়েন্টারসের একটি অ্যারে হিসেবে পাওয়া যায়। এগুলি কিভাবে ধরতে হবে তা নিচে দেখানো হলো:
#include <iostream>
int main(int argc, char* argv[]) {
std::cout << "আপনি " << argc << " আর্গুমেন্ট এন্টার করেছেন:\n";
for (int i = 0; i < argc; ++i) {
std::cout << argv[i] << "\n";
}
return 0;
}
উদাহরণ আউটপুট: (ধরে নেওয়া হলো যে, এটি ./myProgram foo bar
হিসাবে চালানো হয়েছে)
আপনি 3 আর্গুমেন্ট এন্টার করেছেন:
./myProgram
foo
bar
গভীরে যাওয়া
অনেক আগে, কমান্ড লাইনই ছিল প্রোগ্রামের সাথে মিথস্ক্রিয়া করার একমাত্র উপায়। আজকের GUI-গুলি অসাধারণ, কিন্তু কমান্ড লাইন এখনও টিকে আছে, বিশেষ করে সার্ভার অথবা ডেভেলপমেন্ট পরিবেশে। এটি দ্রুত, স্ক্রিপ্টযোগ্য নিয়ন্ত্রণ অফার করে।
argv
এবং argc
এর জন্য অল্টারনেটিভ লাইব্রেরিগুলির মধ্যে আছে Boost.Program_options
, যা আরও ফ্যান্সি পারসিং এর জন্য। ইউনিক্স-মত সিস্টেমগুলিতে ট্র্যাডিশনাল কমান্ড লাইন ফ্যানের জন্য আরও একটি ফাংশন হল getopt()
।
স্ক্র্যাচ থেকে আর্গুমেন্ট পার্সিং ইমপ্লিমেন্ট করা আপনাকে তা কাস্টমাইজ করতে দেয়, কিন্তু সিকিউরিটি হোলগুলির জন্য দেখাশোনা করবেন। ব্যবহারকারীর ইনপুটে অন্ধভাবে বিশ্বাস করবেন না—সর্বদা ভ্যালিডেট এবং স্যানিটাইজ করুন।
দেখা জরুরি
main()
ফাংশন সম্পর্কিত C++ ডকুমেন্টেশন: https://en.cppreference.com/w/cpp/language/main_function- Boost.Program_options: https://www.boost.org/doc/libs/release/libs/program_options/
- GNU
getopt()
টিউটোরিয়াল: https://www.gnu.org/software/libc/manual/html_node/Getopt.html