程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 求助啊-linux重定向到終端輸入輸出

求助啊-linux重定向到終端輸入輸出

編輯:編程綜合問答
linux重定向到終端輸入輸出
問題是這樣的,我想用ncurses畫個界面,在這個界面的一個部分上想做成終端的樣,

就是說我在自己畫的這個界面上用鍵盤敲命令,再在後台傳給終端,讓它處理完後傳回
我的界面上顯示。我想不明白。
input = fopen("/dev/tty", "r");
output = fopen("/dev/tty", "w");
char str[1024]={0};
char rstr[1024]={0};
scanf("%s",str);
write(fileno(out),str,1024);
read(fileno(in),rstr,1024);
這樣做好像明顯不對……

最佳回答:


搜了個例子:
#include
#include
#include
#include
#include

int main( void )
{
FILE *stream;
FILE *wstream;
char buf[1024];

memset( buf, '\0', sizeof(buf) );//初始化buf,以免後面寫如亂碼到文件中
stream = popen( "ls -l", "r" ); //將“ls -l”命令的輸出 通過管道讀取(“r”參數)到FILE* stream
wstream = fopen( "test_popen.txt", "w+"); //新建一個可寫的文件

fread( buf, sizeof(char), sizeof(buf), stream); //將剛剛FILE* stream的數據流讀取到buf中
fwrite( buf, 1, sizeof(buf), wstream );//將buf中的數據寫到FILE    *wstream對應的流中,也是寫到文件中

pclose( stream );  
fclose( wstream );

return 0;

}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved