עבור לתוכן

שליחת קלט לתוכנה אחרת c++ / python

Featured Replies

פורסם

איך אני שולח מחרוזת בc++ ובפייטון לתוכנה שמחכה לקלט

למשל פונקציית cin או scanf שמחכות לקלט מהמשתמש

בקונסול

נערך על-ידי RonCohen

פורסם

תוכנה שהרצת מתוך התוכנה שלך (לדוגמה באמצעות פקודת system), או תוכנה שכבר רצה בלי קשר לתוכנה שלך?

פורסם
  • מחבר

תוכנה שרצה בלי קשר

פורסם

מדובר בתקשורת בין תהליכים. קרא על pipes

פורסם

זה תלוי באופן שבו שתי התוכנה מופעלת. אם הוא רוצה להעביר קלט לתוכנה שמישהו אחר כבר הריץ (והיא כרגע רצה ברקע), ולא מדובר בתוכנה שהוא יכול לשנות את הקוד שלה, אז אי אפשר לעשות את זה עם pipes למיטב ידיעתי (אי אפשר לשנות את כניסת הקלט לתוכנה מבחוץ אחרי שהיא התחילה לרוץ).

כמובן יעזור אם פותח הת'רד יסביר יותר טוב מה הוא רוצה לעשות.

פורסם
  • מחבר

בעקרון אין לי רעיון ספציפי זה שאלה שאלתה לי ואני לא מוצא עליה תשובה

בעקרון יש קוד פשוט של מחרוזת שמקבלת דרך CIN מהמשתמש קלט ובודקת אם הוא זהה לקבוע אם כן תציג הודעה

עכשיו בקוד השני אמור להיות איך אני מכניס את הקלט במקום המשתמש ידנית אלה דרך התוכנה הנוכחית

פורסם

אם אתה זה שמריץ בעצמך את התוכנה, אז כמו שגיל אמר, באמצעות pipes.

אם לא אז אתה צריך "לסמלץ" הקשות מקלדת לתוכנה השנייה. windows מספקת לך כמה פונקציות שעוזרות לעשות את זה (SendInput ו-SendMessage לדוגמה), אתה יכול לנסות לחפש דוגמאות לשימוש בהן.

פורסם

זה תלוי מערכת הפעלה..

בלינוקס אפשר להריץ את התכנית שקוראת, באופן שינתב את ה-STDIN שלה דרך FIFO (שזה named pipe) ואז כל כתיבה אליו, ע"י פתיחה כאילו הוא קובץ רגיל, תוליך את מה שאתה כותב אל התוכנית הקוראת..

לדוגמה, אני רוצה מקום אחד לכתוב אליו LOG-ים ומשם הוא ידע לנתב את זה לערוצים שונים (שרת לוגים, קובץ רגיל, מסד נתונים וכו').. אכתוב תכנית LOGGER שמאזינה וקוראת מכזה PIPE ושאר התכנות יכתבו לשם.

פורסם
  • מחבר

ואם אני מריץ את התוכנית הראשונה דרך השניה בעזרת system?

פורסם
אם אתה זה שמריץ בעצמך את התוכנה, אז כמו שגיל אמר, באמצעות pipes.

פורסם
  • מחבר

אפשר איזה מדריך או הסבר נורמלי אני לא מוצא מקום שבאמת מסביר וווינדוס

פורסם

pipes זה ללינוקס

פורסם
  • מחבר

אז מה אני אמור לחפש

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים