প্রদত্ত কাজটি হল C/C++ এ সিস্টেম() এর কাজ দেখানো।
সিস্টেম() ফাংশন হল C/C++ স্ট্যান্ডার্ড লাইব্রেরির একটি অংশ। এটি কমান্ড প্রসেসর বা অপারেটিং সিস্টেমের টার্মিনালে কার্যকর করা যেতে পারে এমন কমান্ডগুলি পাস করতে ব্যবহৃত হয় এবং শেষ পর্যন্ত এটি সম্পূর্ণ হওয়ার পরে কমান্ডটি ফেরত দেয়৷
এই ফাংশনটি কল করার জন্য
সিনট্যাক্স
সিনট্যাক্স নিম্নরূপ -
int system(char command)
এই ফাংশনটি শূন্য প্রদান করে যদি কমান্ডটি কোনো ত্রুটি ছাড়াই কার্যকর করা হয়।
উদাহরণ
Input: system(“date”) Output: The current date is: Fri 12/27/2019
ব্যাখ্যা - নিম্নলিখিত উদাহরণ দেখায় কিভাবে আমরা বর্তমান তারিখ প্রদর্শন করতে সিস্টেম ফাংশন ব্যবহার করতে পারি। অপারেটিং সিস্টেমের কমান্ড প্রসেসরের ভিতরে আউটপুট দেখানো হয়। এটি দেখায় কিভাবে আমরা সিস্টেম() ফাংশন ব্যবহার করে টার্মিনাল কমান্ড বা কমান্ড প্রসেসরের ভিতরে ব্যবহৃত কমান্ড কার্যকর করতে পারি।
উদাহরণ
Input: system(“color a”) Output:
নিচের উদাহরণটি দেখায় যে কিভাবে আমরা সিস্টেম() ফাংশনটি ব্যবহার করতে পারি সেটিতে একটি স্ট্রিং পাস করে যাতে কার্যকর করার কমান্ড রয়েছে। এখানে আমরা "color a" কমান্ড দিয়েছি যা কমান্ড প্রসেসরে টেক্সটের রঙ পরিবর্তন করতে ব্যবহৃত হয় এবং এখানে এটি সঠিকভাবে কাজ করে।
নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি −
- প্রথমে char টাইপের একটি ভেরিয়েবল তৈরি করুন এবং এটিকে কিছু উপযুক্ত আকার দিন, ধরা যাক cmd[10], যাতে এই স্ট্রিংটি কমান্ড সংরক্ষণের জন্য ব্যবহার করা যেতে পারে।
- তারপর strcpy() ফাংশনটি ব্যবহার করে কাঙ্খিত কমান্ডটি স্ট্রিংয়ে সংরক্ষণ করুন যা আমরা আগে তৈরি করেছি। (strcpy() ফাংশন ব্যবহার করার জন্য
হেডার ফাইলটি অন্তর্ভুক্ত করুন) - এখন যে স্ট্রিংটি কমান্ড সংরক্ষণ করছে সেটিকে সিস্টেম ফাংশনে পাস করুন।
অ্যালগরিদম
Start Step 1-> In function main() Declare a char cmd[10] Call function strcpy(cmd, “dir”) Call function system(cmd) Stop
উদাহরণ
#include <iostream> #include<stdlib.h> #include<string.h> using namespace std; int main() { char cmd[10]; strcpy(cmd,"dir"); system(cmd); return0; }
আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −
উৎপন্ন করবে12/25/2019 10:04 AM <DIR> . 12/25/2019 06:33 AM <DIR> .. 12/24/2019 09:56 AM <DIR> bin 12/25/2019 10:04 AM 183 main.cpp 12/25/2019 10:04 AM 1,564,278 main.exe 12/25/2019 06:33 AM 1,046 main.o 12/24/2019 06:33 AM <DIR> obj 12/24/2019 06:33 AM 1,062 Test.cbp 12/24/2019 06:36 AM 358 Test.layout 5 File<s> 1,566,927 bytes 4 Dir<s> 169,866,692,120 bytes free
এখানে আমরা ইনপুট হিসাবে সিস্টেম ফাংশন "dir" কমান্ড দিয়েছি, তাই এর বিনিময়ে এটি আউটপুট হিসাবে কম্পিউটারে উপস্থিত সমস্ত ডিরেক্টরি দেখাবে।
অপারেটিং সিস্টেমে কমান্ড প্রসেসর উপলব্ধ আছে কিনা তা পরীক্ষা করতে নিম্নলিখিত পদ্ধতি ব্যবহার করা যেতে পারে −
এটি সিস্টেম() ফাংশনে একটি নাল পয়েন্টার পাস করে করা যেতে পারে। যদি সিস্টেমটি একটি অ-শূন্য মান প্রদান করে, তাহলে এর মানে হল যে কমান্ড প্রসেসর উপলব্ধ।
অন্যথায় যদি সিস্টেম শূন্য দেয়, তাহলে এর মানে হল কমান্ড প্রসেসরের অস্তিত্ব নেই এবং সিস্টেম() ফাংশন কল করা যাবে না।
উদাহরণ
#include <iostream> #include<stdlib.h> using namespace std; int main() { if(system(Null)) cout<<”Command Processor is present”; else cout<<”Command processor is not present”; return 0; }