在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

請問stdout和stderr有哪些區別呢?

學益得智能硬件 ? 來源:學益得智能硬件 ? 2024-01-13 16:15 ? 次閱讀

為什么大佬在寫代碼的時候,對于一些錯誤的提示信息喜歡用stderr,而不是直接用printf輸出?

這里面是不是有什么講究?

c8da7938-b1ea-11ee-8b88-92fbcf53809c.png ?

Linux里面,用于處理輸入和輸出的文件描述符有三個,分別表示標準輸入,標準輸出,和標準錯誤處理。

比如我們常用的 scanf 和 printf,一個從標準輸入獲取數據,一個往標準輸出寫入數據。

stdout和stderr都是輸出,這兩個的區別主要有三點。

首先,stdout有緩沖,stderr沒有緩沖。

#include 
#include 


int main()
{
    const char *s = "no such file...";


    while (1) 
    {   
        fprintf(stderr, "error : %s", s); 
        sleep(1);
    }   


    return 0;
}
比如這個代碼,使用stderr,會直接把字符串顯示到屏幕上,用戶能立馬看見。

c8ed00b2-b1ea-11ee-8b88-92fbcf53809c.png ?

但是如果換成stdout,用戶什么也看不見。

因為代碼中沒加換行符,程序也沒有正常結束。 平時我們用的printf,就是往stdout里面寫數據。

所以使用stderr,它的實時性更高,有問題,立馬看見。

第二點也跟緩沖有關系。如果使用stdout,當程序發生錯誤奔潰的時候,緩沖區里面的重要數據也會被清空,看不到日志,問題也不好解決。

第三點,使用stdout和stderr也可以把不同的數據分開,防止放在一起混亂。
#include 


int main()
{
    fprintf(stderr, "錯誤信息
");


    printf("正常輸出信息
");


    return 0;
}
這一點在重定向的時候就能體現出來,默認只會把標準輸出的數據定向到目標文件中。

c908ca04-b1ea-11ee-8b88-92fbcf53809c.png ??







審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11351

    瀏覽量

    210504
  • Printf
    +關注

    關注

    0

    文章

    83

    瀏覽量

    13744

原文標題:stdout和stderr有哪些區別

文章出處:【微信號:學益得智能硬件,微信公眾號:學益得智能硬件】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    請問PWM波輸出方式中的邊沿對齊與中心對齊什么區別

    請問PWM波輸出方式中的邊沿對齊與中心對齊什么區別?對于PMSM FOC應該使用那種對齊方式?為什么
    發表于 02-05 06:06

    (文件描述符0、1、2),(stdin、stdoutstderr),(終端設...

    標準輸入文件stdin,標準輸出文件stdout和標準錯誤輸出文件stderr分別得到的。那么文件描述符0、1和2到底是打開哪個文件得到的?這里該如何解釋???望懂得其中緣由者指點
    發表于 03-02 22:05

    mini2440串口測試程序中stdoutstderr不懂,求大俠講解下。。。

    主要是這兩段程序不懂,那個stdoutstderr不懂。。void OutputStdChar(FILE *File) {//向設備寫數據,打開一個串口,聲明并且定義該函數 char Buffer
    發表于 10-25 12:45

    請問固件和程序什么區別

    本帖最后由 一只耳朵怪 于 2018-5-25 16:13 編輯 請問固件和程序什么區別?固件是那種燒錄進去的不可逆轉的硬件編程么?為什么好多可重復燒寫的代碼叫做XXX固件?
    發表于 05-25 16:00

    請問一下printf格式符%ld %lld %d區別

    請問一下printf格式符%ld %lld %d區別
    發表于 12-02 07:18

    如何看到這些通過printf/fprintf輸出到stdout/stderr的打印信息

    當我們使用 procd init 腳本讓某個應用程序實現開機自啟時,會發現應用程序中原本通過 printf/fprintf 等輸出到 stdout/stderr 的打印信息都無法從串口或 adb
    發表于 12-29 07:45

    全志D1-H芯片 Tina 如何查看通過 procd init 腳本啟動的應用輸出到 stdout/stderr 的打印信息?

    問題描述當我們使用 procd init 腳本讓某個應用程序實現開機自啟時,會發現應用程序中原本通過 printf/fprintf 等輸出到 stdout/stderr 的打印信息都無法從串口或
    發表于 03-16 13:54

    全志D1-H芯片 Tina 如何查看通過 procd init 腳本啟動的應用輸出到 stdout/stderr 的打印信息?

    問題描述當我們使用 procd init 腳本讓某個應用程序實現開機自啟時,會發現應用程序中原本通過 printf/fprintf 等輸出到 stdout/stderr 的打印信息都無法從串口或
    發表于 03-29 19:13

    “移動PC”和筆記本電腦什么區別

    “移動PC”和筆記本電腦什么區別?    問:我想買一臺低價筆記本電腦,怕買到“移動PC”,請問
    發表于 01-23 11:27 ?2539次閱讀

    FPGA和單片機什么區別

    到底FPGA和單片機什么區別?根據我的經驗,可以用下面進行概述。
    發表于 02-11 08:00 ?4.3w次閱讀

    type-c和普通接口什么區別

      隨著type-c接口的普及,現在越來越多的電子產品都使用了type-c接口,那么,type-c和普通接口什么區別?
    的頭像 發表于 07-28 11:17 ?6264次閱讀
    type-c和普通接口<b class='flag-5'>有</b>什么<b class='flag-5'>區別</b><b class='flag-5'>呢</b>?

    請問放大器與中繼器什么區別

    請問放大器與中繼器什么區別? 放大器和中繼器是網絡設備中常見的兩種裝置,它們在網絡中起到了不同的作用。盡管這兩個設備都可以增強信號,但它們有著不同的功能和使用場合。在本文中,我們將詳細討論放大器
    的頭像 發表于 09-13 14:17 ?2514次閱讀

    什么叫做LVDS信號?請問TTL信號與LVDS信號什么區別

    什么叫做LVDS信號?請問TTL信號與LVDS信號什么區別? LVDS信號 LVDS(Low Voltage Differential Signaling)又稱低壓差分信號傳輸技術,是一種采用差分
    的頭像 發表于 10-18 15:38 ?2682次閱讀

    天線和饋線哪些區別

    天線和饋線哪些區別? 天線和饋線是無線通信系統中不可或缺的兩個部分,它們在實現無線信號的傳輸和接收過程中起著關鍵的作用。雖然天線和饋線都是用于無線通信的,但它們的功能和應用場景有所不同。以下將
    的頭像 發表于 01-04 15:05 ?2494次閱讀

    請問Docker和傳統虛擬機什么區別

    雖然人跑了,但起碼還有服務器陪著他,但屏幕前依然單身的你? 你連服務器都沒有。
    的頭像 發表于 03-29 15:54 ?526次閱讀
    <b class='flag-5'>請問</b>Docker和傳統虛擬機<b class='flag-5'>有</b>什么<b class='flag-5'>區別</b><b class='flag-5'>呢</b>?
    主站蜘蛛池模板: 91男人| 护士巨好爽好大乳 | 牛牛碰在线 | 一区二区手机视频 | 亚洲香蕉网久久综合影院3p | 1024手机在线看片 | 亚洲国产综合人成综合网站00 | 国产午夜在线观看视频播放 | 男女交性视频免费播放视频 | 天天干天天爱天天操 | 狠狠色丁香婷婷综合久久片 | 久久久久九九精品影院 | 被啪漫画羞羞漫画 | 四虎永久免费在线 | 国产h视频在线观看 | 欧美色欧美亚洲高清在线视频 | 欧美视频a| 久久99精品久久久久久秒播 | 69日本xxxxxxxxx29 69日本xxxxxxxxx30 | 欧美天天综合 | 免费两性的视频网站 | 播五月综合 | 人人艹人人草 | 国模极品一区二区三区 | 四虎影院在线观看网站 | 99色吧| 一区二区三区四区无限乱码在线观看 | 日韩精品你懂的在线播放 | 国产美女主播一级成人毛片 | 日日噜夜夜噜 | 天天干天天操天天玩 | bt天堂中文在线 | 日韩免费精品一级毛片 | 国产三级日本三级美三级 | 欧美人与性另类 | 国产伦精品一区二区三区 | 成人夜色香网站在线观看 | 成人免费无毒在线观看网站 | 又黄又涩的视频 | 一区视频在线播放 | 日本在线观看成人小视频 |