標準輸入、輸出、錯誤裝置
其中in.txt中的內容如下/* * FileName: Stand_Windows_Device.cpp * Author: JarvisChu * Date: 2012-11-07 */ #include <stdio.h> #include <windows.h> #define BUFF_SIZE 256 int main(int argc, char* argv[]) { DWORD nRead; DWORD nWrite; TCHAR buf[BUFF_SIZE]; HANDLE hStd_Input = GetStdHandle(STD_INPUT_HANDLE); //Get the standard input device HANDLE hStd_Output = GetStdHandle(STD_OUTPUT_HANDLE); //Get the standard input device HANDLE hStd_Error = GetStdHandle(STD_ERROR_HANDLE); //Get the standard error device //read from stdinput, and write to stdoutput while(ReadFile(hStd_Input,buf,BUFF_SIZE,&nRead,NULL) && nRead>0) { if(!WriteFile(hStd_Output,buf,nRead,&nWrite,NULL) || nRead != nWrite) { WriteFile(hStd_Error,"WriteFile Error",sizeof(TCHAR)*15,NULL,NULL); } break; //For the purpose of testing,just read one line } //-------------------------------------------------------------------------------------------- //Standard Input Redirection HANDLE hFileIn = CreateFile("in.txt",GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,0,NULL); //the two statements below complete the redirection SetStdHandle(STD_INPUT_HANDLE,hFileIn); //set the hFileIn as the standard input device HANDLE newStd_Input = GetStdHandle(STD_INPUT_HANDLE); //Get the standard input device,now is hFileIn while(ReadFile(newStd_Input,buf,BUFF_SIZE,&nRead,NULL) && nRead>0) { WriteFile(hStd_Output,buf,nRead,&nWrite,NULL); } SetStdHandle(STD_INPUT_HANDLE,hStd_Input); //Reset the Standard Input Device to default //-------------------------------------------------------------------------------------------- //Standard Output Redirection HANDLE hFileOut = CreateFile("out.txt",GENERIC_WRITE,FILE_SHARE_READ,NULL,OPEN_ALWAYS,0,NULL); //the two statements below complete the redirection SetStdHandle(STD_OUTPUT_HANDLE,hFileOut); //set the hFileIn as the standard input device HANDLE newStd_Output = GetStdHandle(STD_OUTPUT_HANDLE); //Get the standard output device,now is hFileout while(ReadFile(hStd_Input,buf,BUFF_SIZE,&nRead,NULL) && nRead>0) { WriteFile(newStd_Output,buf,nRead,&nWrite,NULL); break; //For the purpose of testing,just read one line } //Reset the Standard IO Device to default SetStdHandle(STD_OUTPUT_HANDLE,hStd_Output); //-------------------------------------------------------------------------------------------- //Close Handles CloseHandle(hFileIn); CloseHandle(hFileOut); CloseHandle(hStd_Input); CloseHandle(hStd_Input); CloseHandle(newStd_Input); CloseHandle(newStd_Output); return 0; }
相關推薦
標準輸入、輸出、錯誤裝置
/* * FileName: Stand_Windows_Device.cpp * Author: JarvisChu * Date: 2012-11-07 */ #include <stdio.h> #include <windows.h> #de
linux學習第一周;標準輸入、輸出和錯誤重定向與管道
例子 OS clas 管道 text 默認 post 錯誤 gpo 標準輸入 標準輸出 標準錯誤 重定向: < #標準輸入重定向,默認為鍵盤輸入,利用<可以將文件代替鍵盤輸入 > #標準輸出重定向(會覆蓋1.text裏面的內容);例子:ls > /d
linux隨筆(一) | 標準輸入、輸出、錯誤流
在工作開始初期,我曾經為了“ >/dev/null 2>&1 ”這一種糾結。今日又看到這種命令字尾,感觸良多。如果你也有這種困惑,不妨來看看這篇小文章。 在lunix中,有三種標準流:標準輸入流、標準輸出流、標準錯誤流。為了區分這三種流,linux分別
Linux:標準輸入、輸出、錯誤
1、檔案描述符檔案檔案描述符 輸入檔案0輸出檔案1錯誤輸出檔案22、將標準輸出和錯誤輸出重定向到同一個檔案:2>&1[email protected]:~/mybash$ cat test.sh #/usr/bin/bashname=kevinecho $nameipconfig[em
Linux重定向及標準輸入、輸出、錯誤相關
通常情況,每個 Unix 程式在啟動時都會開啟三個流,一個用於輸入,一個用於輸出,一個用於列印診斷或錯誤訊息。它們分別被做:標準輸入,標準輸出,標準錯誤。 標準輸入是程式可以讀取其輸入的位置
2.8 補充:標準輸入、輸出、錯誤輸出
輸入輸出重定向 輸出 錯誤 一個 是把 效果 null 例如 實現 Linux Shell 環境中支持輸入輸出重定向,用符號"<"和">"來表示。0、1和2分別表示標準輸入、標準輸出和標準錯誤信息輸出,可以用來指定需要重定向的標準輸入或輸出,比如 2>a.
標準輸入、輸出和錯誤輸出
當我們在s h e l l中執行命令的時候,每個程序都和三個開啟的檔案相聯絡,並使用檔案描述符來引用這些檔案。由於檔案描述符不容易記憶, s h e l l同時也給出了相應的檔名。 下面就是這些檔案描述符及它們通常所對應的檔名: 檔案檔案描述符 輸入檔案—標準輸入std
Linux shell的標準輸入、輸出和錯誤
1.檔案描述符 在linux shell執行命令時,每個程序都和三個開啟的檔案相聯絡,並使用檔案描述符來引用這些檔案。由於檔案描述符不容易記憶,shell同時也給出了相應的檔名: 檔案 檔案描述符 輸入檔案—標準輸入 0(預設是鍵盤,為0時是檔案或者其他命令的輸出) 輸出檔
python3的輸入、輸出、變量、數據類型知識內容
code 取整 space nta 區別 format 方式 http 假設 一、輸入、輸出、打印數據 1、輸入input 一個程序要能實現人機交互功能,必須要能夠接受從鍵盤上輸入的數據。在python中,接收由鍵盤輸入的數據的函數是 input(); sex = inp
連結串列實現學生資訊表(含輸入、輸出、計算表長、查詢、插入、刪除等功能)
連結串列實現學生資訊表(含輸入、輸出、計算表長、查詢、插入、刪除等功能) #include <stdio.h> #include <stdlib.h> void menu() { printf("make your choice \n"); pr
Java的輸入和輸出、if...else if...else判斷、Java中列印陣列、Java中陣列排序、檢視函式方法的原始碼、命令列引數
Java的輸入和輸出: 輸入: import java.util.Scanner Scanner s = new Scanner(System.in); //通過new Scanner(System.in)建立一個Scanner物件,控制檯會一直等待輸入,直到敲回車鍵
實驗一 數字影象的輸入、輸出、顯示、直方圖統計
1.編寫對灰度影象進行直方圖統計的程式,並將結果顯示在螢幕上。 2.顯示原影象的直方圖和經過均衡化處理過的影象直方圖。 I = imread('lena512.bmp'); figure(1); subplot(221),imshow(I);title('原始影象
項管(八)——十大管理過程的輸入、輸出、工具
一、專案整體管理:1、制定專案章程:輸入:專案工作說明書、商業論證、協議、事業環境因素、組織過程資產;工具:專家判斷、引導技術;輸出:專案章程;2、制定專案管理計劃:輸入:專案章程、其它過程的輸出、事業環境因素、組織過程資產工具:專家判斷、引導技術;輸出:專案管理計劃;3、指
C語言註釋風格(函式、功能、輸入、輸出、返回)
C語言程式設計規範-註釋規則: 1:一般情況下,源程式有效註釋量必須在20%以上。 說明:註釋的原則是有助於對程式的閱讀理解,在該加的地方都加了,註釋不宜太多也不能太少,註釋語言必須準確、易懂、簡潔。 2:說明性檔案(如標頭檔案.h檔案、.inc檔案、.def檔案、
2. Python中的基本輸入、輸出、格式化
個數 ota 函數 關註 類型 目前 位置 format tla 本文利用的是Python 3.x版本,建議學習3.x版本 Python中的基本輸入、輸出、格式化 1. 輸入 使用input([prompt])讀取一行,將其轉換為string類型並返回,input的參數
數據的標準輸入與輸出
輸入一行字符串 scanner util 步驟 args 構造 存在 標準輸出 一個 《一》輸入數據 Scsnner是一個用於掃描輸入文本的實用程序,存在於java.util包中。 使用該類的步驟: 1.在程序的開頭添加一行導入包語句“import java.util,
轉換流和標準輸入和輸出流
轉換流提供了字元流和位元組流之間的轉換 InputStreamReader和OutputStreamWriter 位元組流中的資料都是字元時,轉成字元流操作更高效 /* 轉換流:inputStreamReader OutputStreamWriter 編碼:字串 --->
Spark Streaming(二十七)DStream的轉換、輸出、快取持久化、檢查點
定義 所謂DStream的轉換其實就是對間隔時間內DStream資料流的RDD進行轉換操作並返回去一個新的DStream。 DStream轉換 其實DStream轉換語法跟RDD的轉換語法非常類似,但DStream有它自己的一些特殊的語法,如updateStat
process.stdin的end事件如何觸發?---關於nodejs底層的標準輸入與輸出的坑
最近想用js來寫一點簡單的演算法題,node是使用process.stdin和process.stdout來實現標準輸入和輸出的,我的目標是實現*迴圈輸入*,遇到沒有輸入時,輸入結束。聽起來好像很簡單,那麼接下來我們就來試試。 官方文件 首先我們
perl-標準輸入與輸出
-1----------------------------------------------------------------------------------------------------- 標準輸入與輸出: <STDIN>