2008年3月9日 星期日

用c做出 " '輸入輸出的重新導向"

1) 標準輸出(stdout) 導向至 檔案 save.txt
#ls > save.txt <== (shell)

//本來該寫入stdout的資料,改成寫入save.txt
freopen("./save.txt", "w", stdout);
printf("This will be written into save.txt"); <==(C)


2)標準輸入(stdin)導向至過濾程式upper
#./upper < file.txt <==(shell)

//本來該從stdin讀取的資料, 改成從file.txt讀取
freopen("file.txt", "r", stdin);
execl("./upper", "upper", NULL); <==(C)