কম্পিউটার

POSIX ব্যবহার করে কিভাবে একটি কমান্ড নির্বাহ করবেন এবং C++ এর মধ্যে কমান্ডের আউটপুট পাবেন?


আপনি পপেন এবং pclose ফাংশনগুলিকে প্রক্রিয়াগুলিতে পাইপ করার জন্য ব্যবহার করতে পারেন৷ popen() ফাংশন একটি পাইপ তৈরি করে, কাঁটাচামচ করে এবং শেলকে আহ্বান করে একটি প্রক্রিয়া খোলে। আমরা stdout এর বিষয়বস্তু পড়ার জন্য একটি বাফার ব্যবহার করতে পারি এবং এটিকে একটি ফলাফলের স্ট্রিংয়ে যুক্ত করতে পারি এবং প্রক্রিয়াগুলি প্রস্থান করার সময় এই স্ট্রিংটি ফেরত দিতে পারি।

উদাহরণ

#include <iostream>
#include <stdexcept>
#include <stdio.h>
#include <string>

using namespace std;

string exec(string command) {
   char buffer[128];
   string result = "";

   // Open pipe to file
   FILE* pipe = popen(command.c_str(), "r");
   if (!pipe) {
      return "popen failed!";
   }

   // read till end of process:
   while (!feof(pipe)) {

      // use buffer to read and add to result
      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

  1. কিভাবে একটি চিত্রের আকার পরিবর্তন করবেন এবং C++ ব্যবহার করে OpenCV-এ একটি বর্ডার যোগ করবেন?

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

  3. C++ ব্যবহার করে ওপেনসিভিতে বর্তমান ফ্রেমের অবস্থান কীভাবে পাবেন?

  4. সি++ ব্যবহার করে ওপেনসিভিতে একটি নির্দিষ্ট পিক্সেলের মান কীভাবে পাবেন?