দেওয়া কাজ হল C/C++-তে system() এর ওয়ার্কিং দেখানো।
system() ফাংশন C/C++ স্ট্যান্ডার্ড লাইব্রেরির একটি অংশ। এটি কম্যান্ড প্রসেসর বা অপারেটিং সিস্টেমের টার্মিনলে এক্সিকিউট होने যোগ্য কম্যান্ড পাস করতে ব্যবহৃত হয়, এবং অবশেষে কম্যান্ড সম্পন্ন হয়ে গেলে রিটার্ন করে।
<stdlib.h> বা <cstdlib> ইনক্লুড করা থাকতে হবে এই ফাংশন কল করার জন্য।
সিনট্যাক্স
সিনট্যাক্স নিচের মতো −
int system(char command)
এই ফাংশন শূন্য রিটার্ন করে যদি কমांड কোনো এরর ছাড়া এক্সিকিউট হয়।
উদাহরণ
Input: system("date")
Output: The current date is: Fri 12/27/2019
ব্যাখ্যা − নিচের উদাহরণ দেখায় কিভাবে আমরা system ফাংশন ব্যবহার করে করেন্ট ডেট ডিসপ্লে করতে পারি। আউটপুট অপারেটিং সিস্টেমের কম্যান্ড প্রসেসরের ভিতরে দেখানো হয়। এটি দেখায় কিভাবে আমরা system() ফাংশন ব্যবহার করে টার্মিনেল কম্যান্ড বা কম্যান্ড প্রসেসরে ব্যবহৃত কমান্ড এক্সিকিউট করতে পারি।
উদাহরণ
Input: system("color a")
Output:

নিচের উদাহরণ দেখায় কিভাবে আমরা system() ফাংশন ব্যবহার করতে পারি শুধু একটি স্ট্রিং পাস করে যেটিতে এক্সিকিউট হওয়ার কমांड থাকে। এখানে আমরা "color a" কমান্ড দিয়েছি যা কম্যান্ড প্রসেসরে টেক্সট কালার চেঞ্জ করতে ব্যবহৃত হয় এবং এখানে এটি সঠিকভাবে কাজ করে।
নিচের প্রোগ্রামে ব্যবহৃত পদ্ধতি নিম্নরূপ −
- প্রথমে char টাইপের একটি ভেরিয়েবল তৈরি করুন এবং উপযুক্ত সাইজ দিন, ধরি cmd[10], যাতে এই স্ট্রিং কম্যান্ড স্টোর করতে পারে।
- তারপর strcpy() ফাংশন ব্যবহার করে ডিজায়ার্ড কম্যান্ড স্ট্রিং-এ স্টোর করুন। (strcpy() ফাংশন ব্যবহার করতে <string.h> হেডার ফাইল ইনক্লুড করতে হবে)
- এখন কম্যান্ড স্টোর করা স্ট্রিংটি system ফাংশনে পাস করুন।
অ্যালগরিদম
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. 12/25/2019 06:33 AM .. 12/24/2019 09:56 AM 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 obj 12/24/2019 06:36 AM 358 Test.layout 12/24/2019 06:36 AM 1,062 Test.cbp 5 File 1,566,927 bytes 4 Dir169,866,692,120 bytes free
এখানে আমরা system ফাংশনে "dir" কমান্ড ইনপুট হিসেবে দিয়েছি, তাই রিটার্ন হিসেবে এটি কম্পিউটারে প্রেজেন্ট সকল ডিরেক্টরি আউটপুট হিসেবে দেখাবে।
নিচের মেথড ব্যবহার করে চেক করা যায় কমান্ড প্রসেসর অপারেটিং সিস্টেমে উপলব্ধ কিনা −
এটি করা যায় system() ফাংশনে একটি NULL পয়েন্টার পাস করে। যদি সিস্টেম নন-জিরো ভ্যালু রিটার্ন করে, তবে মানে কমান্ড প্রসেসর উপলব্ধ।
অন্যথায় যদি সিস্টেম শূন্য রিটার্ন করে, তবে মানে কমান্ড প্রসেসর অস্তিত্ব নেই এবং system() ফাংশন কল করা যাবে না।
উদাহরণ
#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;
}