stdout和stderr的趣味問題

2021-08-01 20:27:24 字數 982 閱讀 5557

#includeint main()

return 0;

}

如果不輸入得到一行,游標停止,如果加換行

但是如果沒有輸入換行,就會得到下列結果

因為stdout會先放在快取區,等錯誤資訊打出,在執行清除快取,所以group最後寫出

如果我們在stdout那一行加上換行就不同了

#includeint main()

}

group會先輸出,因為換行會清理緩衝

如果輸入123會出現錯位的神奇現象

因為group後面有換行,先輸出再換行,接著連線xiyoulinux

為了探索緩衝的問題再寫乙個例子

#includeint  main()

return 0;

}

輸出結果兩部分,很多行xiyoulinux和一堆group

大家注意最後一行少了group的p

此時統計group所佔得位元組數

證明緩衝大小1024位元組

stderr和stdout詳細解說

今天又查了一下fprintf,其中對第乙個引數stderr特別感興趣。int fprintf file stream,char format,argument 在此之前先區分一下 printf,sprintf,fprintf。1,printf就是標準輸出,在螢幕上列印出一段字串來。2,sprintf...

stderr和stdout詳細解說

int fprintf file stream,char format,argument 在此之前先區分一下 printf,sprintf,fprintf。1,printf就是標準輸出,在螢幕上列印出一段字串來。2,sprintf就是把格式化的資料寫入到某個字串中。返回值字串的長度。3,fprint...

stderr和stdout詳細解說

今天又查了一下fprintf,其中對第乙個引數stderr特別感興趣。int fprintf file stream,char format,argument 在此之前先區分一下 printf,sprintf,fprintf。1,printf就是標準輸出,在螢幕上列印出一段字串來。2,sprintf...