2017-02-07 13 views
0

我想使用Evolution郵件客戶端的郵件過濾器將郵件傳送到我的C++程序。我已經編寫了一個C++程序,並在Evolution中設置了一個過濾器來管道到我的可執行文件。電子郵件被過濾,我的可執行文件被調用,但是當我嘗試從標準輸入讀取時,沒有任何反應。我認爲使用stdin的想法是不正確的。我一直在網上瀏覽有關管道的信息,例如here,但我不確定這是否正是我所需要的。有誰知道我是否在正確的軌道上,還是可以指引我朝着正確的方向發展?例如。是否需要我的C++始終運行Evolution,或者Evolution是否啓動並傳輸到我的可執行文件。如何讀取C++中的Evolution郵件管道?

+1

您可以通過命令類似這樣的檢查管'回聲一些文字|程序「或」cat some.file |「 program'。 – oklas

+0

我試過了,但是當我的代碼在終端等待輸入時運行時,什麼都沒有發生。所以我想這意味着管道不工作。我會看看我是否可以使用這個工具來獲得我的代碼。感謝您的有用評論,絕對值得爲此提出問題,也可能幫助其他人。 +1。 – Antinous

+0

好的。我會創建答案。如果需要,我會爲自己做這種檢查。如果這有幫助,我會很高興。 – oklas

回答

1

您可以通過命令這樣的檢查管:

echo some text | program 

或像這樣:

cat some.file | program 
+0

謝謝,最後我的代碼是正確的,只是我輸出了一些東西到'cout'當然我的代碼無法執行,因爲沒有終端輸出到。因此,代碼只是停留在那一點,而不是從管道執行'cin'代碼。我現在有工作代碼。正如你所說,回聲可以幫助調試。 – Antinous