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

C/C++-তে system() ফাংশন: কম্যান্ড এক্সিকিউশন


দেওয়া কাজ হল 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:

C/C++-তে system() ফাংশন: কম্যান্ড এক্সিকিউশন

নিচের উদাহরণ দেখায় কিভাবে আমরা 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 Dir 169,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;
}

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

  2. সি/সি++-এ strtod() ফাংশন

  3. সি/সি++-এ iswblank() ফাংশন

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