הרצת console מתוך console

amir y

New member
הרצת console מתוך console

יש לי 2 תוכניות "win32 console application" ב ++c. אני רוצה להריץ את התוכנית השניה מתוך התוכנית הראשונה, ובנוסף לשלוח לה פרמטרים ל cin (בעצם לדמות את המשתמש). בזמנו כתבתי משהו כזה, אבל שכחתי איך לכתוב את זה שוב, ואני לא מוצא את זה. למישהו יש רעיון? תודה רבה,
 

IdanR

New member
משו קצת יותר טריוויאלי...

להכניס את הקלט, כביכול, לתוך קובץ, ולהפעיל את התוכנית משורת הפקודה בצורה כזאת: program < stdin.txt (כמובן ששם הקובץ לא באמת משנה)
 

eyalbd

New member
תשתמש ב- popen

הנה לך דוגמא חיה. זו אומנם דוגמא שלקוחה מהתיעוד בלינוקס אבל היא אמורה לעבוד גם בחלונות
#include <stdio.h> #include <stdlib.h> void write_data (FILE* stream) { int i; for (i = 0; i < 100; i++) fprintf (stream, "%d\n", i); if (ferror (stream)) { fprintf (stderr, "Output to stream failed.\n"); exit (EXIT_FAILURE); } } int main(void) { FILE* output = popen("more", "w"); if (!output) { fprintf (stderr, "incorrect parameters or too many files.\n"); return EXIT_FAILURE; } write_data (output); if (pclose (output) != 0) { fprintf (stderr, "Could not run more or other error.\n"); } return EXIT_SUCCESS; }​
 

amir y

New member
נחמד ../images/Emo13.gif

כן, זה עובד גם בחלונות תודה לך ולכולם
 
למעלה