نمایش نتایج 1 تا 3 از 3

نام تاپیک: فراخوانی برنامه دیگر در مد

  1. #1

    Question فراخوانی برنامه دیگر در مد

    با سلام

    من قصد دارد یه برنامه بنویسم که بخشی از اون باید یه برنامه رو با آرگمان های ورودی (فرضا به فرم a.xxx arg1 arg2) فراخوانی کنم

    قطعه کدی که نوشتم به فرم زیر هست :


    #include <windows.h>
    #include <conio.h>
    #include <iostream>
    #include <string>
    #include <sstream>
    using namespace std;


    template <typename T>
    string NumberToString(T pNumber)
    {
    ostringstream oOStrStream;
    oOStrStream << pNumber;
    return oOStrStream.str();
    }


    string Run(int i)
    {
    int X,Y;
    if(i == 1)
    {
    X = 10;
    y = 10;
    }
    else
    {
    X = 0;
    Y = 20;
    }
    return "a.xxx " + NumberToString(X) + " " + NumberToString(Y);
    }


    void main()
    {
    system(Run(1));
    }


    خطای زیر رو نشون میده

    Could not find a match for 'system(string)'


    برنامه a.xxx در کنار فایل هست. دستور فرضا به فرم a.xxx arg1 arg2 نیز از طریق ویندوز و کنسول قابل اجرا هست

    این برنامه رو با Borland C++‎‎‎‎ Complier 5.5 نوشتم

    لطفا می توانید مرا راهنمایی کنید

    با تشکر
    آخرین ویرایش به وسیله mgupload : دوشنبه 20 فروردین 1397 در 08:59 صبح

  2. #2

    نقل قول: فراخوانی برنامه دیگر در مد

    رشته ای که return میکنی یه بار print کن ببین همه چیز درسته هست..
    میتونی با تابع system یه فایل دیگه ای رو اجرا کنی اما بهتر هست که یه پروسس بسازی و بعد فایل مورد نظرت و اجرا کنی.
    اگر داخل ویندوز هستی با تابع CreateProcess میتونی اینکارو انجام بدی و اگر لینوکس هستی با fork و exec پروسس جدید بسازی و فایل تو اجرا کنی.
    البته فکر میکنم میشه از توابع POSIX داخل ویندوز استفاده کنی اینجا رو نگاه بنداز

  3. #3

    نقل قول: فراخوانی برنامه دیگر در مد

    نقل قول نوشته شده توسط mgupload مشاهده تاپیک
    با سلام

    من قصد دارد یه برنامه بنویسم که بخشی از اون باید یه برنامه رو با آرگمان های ورودی (فرضا به فرم a.xxx arg1 arg2) فراخوانی کنم

    قطعه کدی که نوشتم به فرم زیر هست :


    #include <windows.h>
    #include <conio.h>
    #include <iostream>
    #include <string>
    #include <sstream>
    using namespace std;


    template <typename T>
    string NumberToString(T pNumber)
    {
    ostringstream oOStrStream;
    oOStrStream << pNumber;
    return oOStrStream.str();
    }


    string Run(int i)
    {
    int X,Y;
    if(i == 1)
    {
    X = 10;
    y = 10;
    }
    else
    {
    X = 0;
    Y = 20;
    }
    return "a.xxx " + NumberToString(X) + " " + NumberToString(Y);
    }


    void main()
    {
    system(Run(1));
    }


    خطای زیر رو نشون میده

    Could not find a match for 'system(string)'


    برنامه a.xxx در کنار فایل هست. دستور فرضا به فرم a.xxx arg1 arg2 نیز از طریق ویندوز و کنسول قابل اجرا هست

    این برنامه رو با Borland C++‎‎‎‎‎ Complier 5.5 نوشتم

    لطفا می توانید مرا راهنمایی کنید

    با تشکر
    سلام
    1- رشته ارسال برای اجرا اشتباه هستش.بین اسم برنامه و اولین پارامتر اون باید یک space باشه. که شما رشته ارسالی رو بدون اون فاصله ی اول ساختی.
    2- a.xxx چیه دیگه ؟ xxx باید حتما پسوند فایل اجرایی سیستم عامل باشه. مثل: a.exe
    نکته :
    اون تابع NumberToString بیهوده هستش.این امکان رو خود runtime داره

تاپیک های مشابه

  1. استفاده از یک برنامه دیگر در برنامه خودم
    نوشته شده توسط cazino86 در بخش C#‎‎
    پاسخ: 6
    آخرین پست: پنج شنبه 11 شهریور 1389, 14:46 عصر
  2. پاسخ: 4
    آخرین پست: چهارشنبه 01 اردیبهشت 1389, 23:10 عصر
  3. ارتباط با يك برنامه از طريق برنامه ديگر در وي بي
    نوشته شده توسط سيد محمد علي رحيمي در بخش برنامه نویسی در 6 VB
    پاسخ: 9
    آخرین پست: پنج شنبه 30 آبان 1387, 16:09 عصر
  4. پاسخ: 14
    آخرین پست: پنج شنبه 20 مرداد 1384, 03:20 صبح
  5. اجرای یک برنامه دیگر در دلفی
    نوشته شده توسط tazekar در بخش برنامه نویسی در Delphi
    پاسخ: 4
    آخرین پست: شنبه 19 مهر 1382, 23:32 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •