2015-04-04 80 views
4
// console  = fopen("con", "wt");  this worked under windows 
// console  = fopen("/dev/console", "wt");  segmentation fault 
    console  = fopen("/dev/tty0", "wt");  returns zero 

使用Mint Linux編寫C語言。我想與控制檯交談,無論stdin &標準輸出的重定向如何。無法打開/ dev/console

+1

最接近的事情'」 con「'可能是'」/ dev/tty「(而不是tty0!)。 – 2015-04-04 09:46:08

+0

也許寫入到stderr,以便它將顯示在終端中,即使stdout輸出被重定向:'「/ dev/stderr」'。 – tmlen 2015-04-04 12:12:28

回答

1

/dev/console設備不一定可供您使用。對於Linux,如果您碰巧查看當前的虛擬終端,該設備將只顯示任何結果。另外(包括Linux),對於大多數系統/dev/console需要提升權限才能打開它,例如,您的應用程序正在運行爲root。原因是因爲一些系統消息被寫入系統控制檯。

關於進一步的討論,這裏有幾個環節: