對一個程序的輸入通常來自于鍵盤(標準輸入),而一個程序的輸出一般都是在屏幕上(標準輸出)。對于大多數計算機系統,可能需要將輸入重定向為來自一個文件而非鍵盤,或者將輸出重定向為輸出到一個文件而非屏幕。可通過命令行而不需要使用標準函數庫函數就可以實現這兩種重定向。 借助輸入重定向,可以將輸入數據事先存儲在一個文件中。假設可執行文件sum請用戶每次輸入一個整數,然后不斷求其和,可將輸入存在input文件中,linux中使用如下:
$ sum < input就是從input文件中讀取數據來執行sum。輸入重定向符(redirect input symbol)(<)表示文件input中的數據將被用于輸入。重定向是一個操作系統函數而非C語言特征。Windows中采用相同的方法實現輸入重定向。 管道技術(piping)同樣可以實現輸入重定向。一個管道符(|)將一個程序輸出重定向到一個程序輸入上。假設random輸出的是一系列的隨機函數,使用如下:
$ random | sumLinux和Windows系統中操作管道的方法是相同的。 程序的輸出可以利用輸出重定向符(redirect output symbol)(>)來重定向到一個文件中。例如:
$ random > outrandom的輸出可以重定向到文件out中。 添加輸出符(append output symbol)(>>)可以將一個程序的輸出添加到一個文件的末尾。例如:
$ random >> out新聞熱點
疑難解答