تجربه‌های پراکنده‌ی یک مسعود
در صورت ناخوانا بودن نوشته‌ها، از مرورگر دیگری استفاده کنید.

تابع popen - تجربه‌های پراکنده‌ی یک مسعود
تجربه‌های پراکنده‌ی یک مسعود
000.005.00

روش اجرای برنامه‌ای دیگر داخل کد ++C و استفاده از خروجی آن

گاهی لازمه یه برنامه‌ی خارجی رو از برنامه‌ی خودمون اجرا کنیم و خروجی اون رو استفاده کنیم. حالا این برنامه می‌تونه یه برنامه‌ی اجرایی دیگه باشه یا یکی از ابزارهای سیستم عامل مثل ping یا حتی اجرای یه برنامه‌ی java. اونچه که مهمه اجرا شدن از خط فرمان و تولید خروجی متنی‌ه.

    زبان ++C برای این کار تابع popen رو داره که با خط فرمان به شکل فایل برخورد می‌کنه. یعنی دستور مد نظرمون رو به صورت اسم فایل بهش می‌دیم و بعد خروجی رو ازش می‌خونیم.

    مثلا برنامه‌ی زیر تعداد هسته‌های CPU رو روی سیستم‌های عامل لینوکس و ویندوز از طریق ابزارهای خط فرمان دریافت و داخل متغیر cpu ذخیره می‌کنه:

      

 1      string command;
 2      int cpu = 1;
 3      FILE *fp;
 4      char res[4];
 5  #ifdef __linux__
 6      command = "grep -c ^processor /proc/cpuinfo";
 7  #elif _WIN32
 8      command = "echo %number_of_processors%";
 9  #endif
10      if(fp = popen(command.c_str(), "r")) {
11          fgets(res, sizeof(res) - 1, fp);
12          cpu = atoi(res);
13      }
14      pclose(fp);

      


امتیاز نوشته
  • 1
  • 2
  • 3
  • 4
  • 5
ارسال پیام

نام: *  

پست الکترونیک:

وبگاه:

متن پیام: *

right 01 02 03 04 05 06 07 08 09 10 11 12 13 14 left

 

سوال:   چهار هفت  تا؟    (عدد) تا