簡體   English   中英

將輸出從C重定向到Matlab

[英]Redirect output from C to Matlab

我正在使用Linux和Matlab R2017。

我有一個C程序,它通過printf()有一個無限的輸出,我想直接將其輸出到matlab。

輸出unix('./prog'),之后,我可以像unix('./prog'),這樣運行該程序,但是我不知道如何將其保存到matlab數組。

實際上,我想使其像FIFO,但不知道如何。.據我所知,在matlab中沒有像bash這樣的管道。

它僅與C語言緊密相關。 恕我直言,唯一的C點是您需要確定stdout是否可以在C程序中進行緩沖。 事實並非如此,您必須將其顯式設置為無緩沖( setbuff(stdout, NULL); ),或者在需要輸出才能立即使用fflush時使用。

其余的,我將在文件系統級別使用fifo文件。 可以使用mkfifo fifo_path創建這樣的fifo。 然后,讓您的matlab程序從fifo讀取其輸入,然后在此處重定向C程序的輸出: unix('./prog > /path/to/fifo')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM