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

C++-এ POSIX ব্যবহার করে কমান্ড এক্সিকিউট করে আউটপুট নেওয়া (popen/pclose)

popen() এবং pclose() ফাংশন ব্যবহার করে শেল কমান্ড এক্সিকিউট করে এর আউটপুট পাইপের মাধ্যমে পড়া যায়।

উদাহরণ

#include <iostream>
#include <stdexcept>
#include <stdio.h>
#include <string>
using namespace std;

string exec(string command) {
    char buffer[128];
    string result = "";
    FILE* pipe = popen(command.c_str(), "r");
    if(!pipe) return "popen failed!";
    while(!feof(pipe)) {
        if(fgets(buffer, 128, pipe) != NULL)
            result += buffer;
    }
    pclose(pipe);
    return result;
}

int main() {
    string ls = exec("ls");
    cout << ls;
}

আউটপুট

a.out hello.cpp hello.py hello.o hydeout my_file.txt watch.py

সতর্কতা: popen POSIX-নির্দিষ্ট (Windows-এ _popen)। বাফার সাইজ এবং এরর হ্যান্ডলিং সাবধানে করুন। আধুনিক C++-এ std::process (C++26 প্রস্তাবিত) বা বूस্ট.প্রসেস ব্যবহার করা ভালো।

  1. OpenCV-এ C++ ব্যবহার করে ইমেজের আকার পরিবর্তন এবং বর্ডার যোগ করা

  2. OpenCV-এ C++ ব্যবহার করে FPS মান পাওয়া

  3. OpenCV-এ C++ ব্যবহার করে বর্তমান ফ্রেমের পজিশন পাওয়া

  4. OpenCV-এ C++ ব্যবহার করে নির্দিষ্ট পিক্সেলের মান পাওয়ার পদ্ধতি