java stdin 和stdout_對stdin,stdout 和STDOUT_FILENO,STDIN_FILENO的學習

在unix系統調用中,標準輸入描述字用stdin,標準輸出用stdout,標準出錯用stderr表示,但在一些調用函數,引用了STDIN_FILENO表示標準輸入才,同樣,標準出入用STDOUT_FILENO,標準出錯用STDERR_FILENO.

他們的區別:

stdin等是FILE *類型,屬于標準I/O,在。

STDIN_FILENO等是文件描述符,是非負整數,一般定義為0, 1, 2,屬于沒有buffer的I/O,直接調用系統調用,在。

下面一個例子是對STDOUT_FIFENO 和STDIN_FILENO的應用:

#include

#define SIZE 100

int main(void)

{

int n;

char buf[SIZE];

while(n=read(STDIN_FILENO,buf,SIZE))?? //讀取標準輸入到buf中,返回讀取字節數。

{

if(n!=write(STDOUT_FILENO,buf,n)) 把buf 寫到標準輸出中

perror("write error");

}

if(n<0) perror("read error");

return 0;

}

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

如果按照常規的使用方法:

fan@fan:~/arm$ gcc -o app stdout.c

fan@fan:~/arm$ ./app

fdfe

fdfe

fefefef

fefefef

//輸入一行,馬上輸出一行,也就是按照原樣輸出

===========================================================================

使用重定向來運行

fan@fan:~/arm$ ./app> data

fefe

fdadfdf

adfdfef

//輸入的字符串并不是輸出到終端,而是輸出到data文件中。

==========================================================================

fan@fan:~/arm$ ./app data

fan@fan:~/arm$

//這一句相當于把stdout.c復制到data中去

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=

STDOUT_FILENO和STDIN_FILENO在默認的情況下是終端,

使用ctrl+D來輸入文件結束符

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/270522.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/270522.shtml
英文地址,請注明出處:http://en.pswp.cn/news/270522.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java多線程之hashmap concurrenthashmap的狀態同步

最近在高并發的系統中發現&#xff0c;concurrenthashmap除了大家熟知的避免循環期間發生ConcurrentModificationException異常外&#xff0c;還有重要的一點是Retrievals reflect the results of the most recently completed update operations holding upon their onset&…

電腦軟件:推薦兩款好用的文件重復檢測軟件

??作者主頁&#xff1a;IT技術分享社區 ??作者簡介&#xff1a;大家好,我是IT技術分享社區的博主&#xff0c;從事C#、Java開發九年&#xff0c;對數據庫、C#、Java、前端、運維、電腦技巧等經驗豐富。 ??個人榮譽&#xff1a; 數據庫領域優質創作者&#x1f3c6;&#x…

APP技巧:微信中這6個設置建議關閉,可以防止個人信息或將全暴露

目錄 01、 開啟添加好友驗證功能 02、 添加“我”的方式 03、不讓他&#xff08;她&#xff09;看 04、允許陌生人查看10條朋友圈 05、 設置查看朋友圈范圍 06、微信授權管理 相信提到微信&#xff0c;大家基本每天都在用&#xff0c;如今微信已經成為了我們社交軟件中的第一大…

lessc_Less 命令行用法

使用命令行&#xff0c;我們可以將 .less 文件編譯為 .css 。安裝lessc以供全局使用以下命令用于使用npm(node package manager)安裝lessc&#xff0c;以使less在全局可用。npm install less -g您還可以在包名稱后面添加特定版本。 例如: npm install less1.6.2 -g安裝Lessc用于…

硬件知識:內存單根16G和兩根8G差別有多大?

關于內存單根16G和兩根8G的差別&#xff0c;小編覺得這些事實&#xff0c;你得知道&#xff01; 論單根16G和兩根8G的區別&#xff01; 內存單通道和雙通道&#xff0c;大家都有聽過吧&#xff01; 理解起來很簡單&#xff0c;一個單通道&#xff0c;只能進行單向傳輸數據&…

極光推送總結:

官方文檔&#xff1a; http://docs.jiguang.cn/jpush/client/Android/android_sdk/ 手動集成步驟&#xff1a; 解壓縮 jpush-android-release-2.x.y.zip 集成壓縮包。復制 libs/jpush-sdk-2.x.y.jar 到工程 libs/ 目錄下。復制 libs/(cpu-type)/libjpush2xy.so 到你的工程中存放…

操作系統:Win10的沙盒是什么,如何使用,看完你就懂了

Win10操作系統新增的windows沙盒是一種安全機制&#xff0c;為執行中的程式提供的隔離環境。通常是作為一些來源不可信、具有破壞力或無法判定程序意圖的應用程序提供實驗之用。很多網友想要通過沙盒運行一些未知的程序&#xff0c;但是不知道windows沙盒如何開啟使用&#xff…

線程的調度

http://blog.chinaunix.net/uid-26430381-id-3746859.html 這篇文章解釋的很好轉載于:https://www.cnblogs.com/yzjT-mac/p/6054517.html

操作系統:電腦系統盤常見文件夾的功能詳解

目錄 一、C盤根目錄常見文件夾 二、隱藏文件夾 相信很多電腦小白對于系統C盤每個文件夾的功能不是很清楚&#xff0c;今天小編給大家介紹一下電腦系統盤文件的功能詳解&#xff0c;希望對大家能有所幫助&#xff01; 一、C盤根目錄常見文件夾 1、debug 是系統調試文件夾&#x…

mysql vba日期空值_使用SQL(VBA/ADO)命令填充來自重復記錄的相應非空值的NULL字段...

我有一個數據庫&#xff0c;其中有數百個記錄已被復制。但是&#xff0c;重復的信息在所有字段中都不相同。對于任何兩行&#xff0c;第一行將包含一些字段中的信息&#xff0c;而重復行的字段為空;但對于其他字段&#xff0c;重復(第二)行將包含信息&#xff0c;而第一行的字段…

js事件處理、事件對象

事件類型分類&#xff1a; 1 添加在html結構中的事件 <div id"div1" onclick"alert(append click event in html)"> </div> 點擊div1之后彈出 append click event in html&#xff1b;其實在html結構中添加的事件也屬于dom0級事件。 2 dom0級事…

手機技巧:手機只剩20%電量?有了這幾招,多用2小時

如今越來越多的小伙伴在旅途中和上班路上 免不了要用手機打發時間 看直播、打游戲、聽音樂 有了手機&#xff0c;仿佛就有了全世界 可是&#xff0c;手機的電不夠用怎么辦&#xff1f; 不怕&#xff01; 今天小編為您送上 最強省電攻略和充電指南&#xff01; 省電攻略 iphone篇…

網絡知識:電腦無線網連接不上問題匯總

在使用電腦的時候&#xff0c;有時候電腦可能連接不上無線網絡。那么電腦無線網絡連接不上怎么辦呢?下面就讓小編來告訴大家吧&#xff0c;歡迎閱讀。 第一步&#xff1a;應檢查無線網卡的驅動是否安裝正確。 右鍵點擊“我的電腦”-屬性-硬件-設備管理器&#xff0c;查看是否存…

小W計樹

排列組合思想. 先跑一遍最短路, 再從1節點開始搜索, 假如搜到一個點的路徑長度等于最短路, 則記錄到達該點的路徑數 1. 最后遍歷一遍, ans * rec[i] 輸出答案即可. 關鍵在于想到這個排列組合的思想. #include<cstdio> #include<cstring> #include<algorith…

java jsonp 接口_jsonp使用,spring4.x對jsonp的支持

1.java中接口RequestMapping("/token/{token}")ResponseBodypublic Object getUserByToken(PathVariable String token,String callback) {Person per null;try {per userService.getPerson(token);} catch (Exception e) {e.printStackTrace();per ExceptionUtil…

CPU知識:主頻、核心、線程、緩存、架構

我們都說CPU相當于人類的大腦&#xff0c;在日常生活中&#xff0c;人腦是術業有專攻&#xff0c;有人天生適合搞藝術&#xff0c;有人天生適合搞科學。CPU作為計算機的大腦&#xff0c;其實也是這樣的。下面就帶大家了解一下CPU知識以及怎么選擇合適的CPU。 CPU有幾個重要的參…