亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

解析c中stdout與stderr容易忽視的一些細節

2020-01-26 16:06:49
字體:
來源:轉載
供稿:網友
先看下面一個例子
a.c :
復制代碼 代碼如下:

int main(int argc, char *argv[])
{
 fprintf(stdout, "normal/n");
 fprintf(stderr, "bad/n");
 return 0;
}

$ ./a
normal
bad
$ ./a > tmp 2>&1
$ cat tmp
bad
tmp
我們看到, 重定向到一個文件后, bad 到了 normal 的前面.
原因如下:
復制代碼 代碼如下:

"The stream stderr is unbuffered. The stream stdout is line-buffered when it points to a
     terminal. Partial lines will not appear until fflush(3) or exit(3) is called, or a newline
     is printed. This can produce unexpected results, especially with debugging output.  The
     buffering mode of the standard streams (or any other stream) can be changed using the
     setbuf(3) or setvbuf(3) call. "

因此, 可以使用如下的代碼:
復制代碼 代碼如下:

int main(int argc, char *argv[])
{
 fprintf(stdout, " normal/n");
 fflush(stdout);
 fprintf(stderr, " bad/n");
 return 0;
}

這樣重定向到一個文件后就正常了. 但是這種方法只適用于少量的輸出, 全局的設置方法還需要用 setbuf() 或 setvbuf(), 或者采用下面的系統調用:
復制代碼 代碼如下:

int main(int argc, char *argv[])
{
 write(1, "normal/n", strlen("normal/n"));
 write(2, "bad/n", strlen("bad/n"));
 return 0;
}

但是盡量不要同時使用 文件流 和 文件描述符,
復制代碼 代碼如下:

"Note that mixing use of FILEs and raw file descriptors can produce unexpected results and
     should generally be avoided.  A general rule is that file
     descriptors are handled in the kernel, while stdio is just a library. This means for exam-
     ple, that after an exec(), the child inherits all open file descriptors, but all old
     streams have become inaccessible."

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
北条麻妃一区二区三区中文字幕| 日韩av一区在线观看| 日本亚洲欧美三级| 青青草成人在线| 国产激情视频一区| 欧美专区中文字幕| 亚洲国产日韩欧美在线99| 国产精品久久电影观看| 久久五月天色综合| 国产精品黄页免费高清在线观看| 国产日韩中文字幕在线| 亚洲最大av网| 成人免费看吃奶视频网站| 亚洲系列中文字幕| 亚洲精品一区二区三区不| 亚洲黄在线观看| 亚洲精品美女久久久久| 亚洲国产日韩欧美在线99| 亚洲视频欧洲视频| 亚洲区一区二区| 亚洲欧美在线免费| 亚洲性视频网址| 日韩av手机在线看| 国产免费一区二区三区在线观看| 日韩av免费在线播放| 色综合视频一区中文字幕| 成人a在线观看| 亚洲精品美女免费| 国产成人涩涩涩视频在线观看| 九色成人免费视频| 日韩有码片在线观看| 日韩视频免费观看| www.99久久热国产日韩欧美.com| 国产日本欧美一区二区三区| 成人在线一区二区| 日本国产精品视频| 亚洲japanese制服美女| 91亚洲精品久久久久久久久久久久| 欧美日韩国产丝袜另类| 欧美精品第一页在线播放| 97成人精品视频在线观看| 久久久久国产精品一区| 中文字幕亚洲欧美日韩在线不卡| 成人情趣片在线观看免费| 81精品国产乱码久久久久久| 日韩动漫免费观看电视剧高清| 亚洲欧美一区二区三区四区| 亚洲国产精品电影| 夜色77av精品影院| 精品成人乱色一区二区| 另类天堂视频在线观看| 91精品国产一区| 国产亚洲精品久久久久动| 精品视频偷偷看在线观看| 国产亚洲欧美日韩美女| 亚洲精品美女网站| 欧美成人免费va影院高清| 久久九九免费视频| 在线视频免费一区二区| 国产精品中文久久久久久久| 国产精品激情av电影在线观看| 午夜精品久久久99热福利| 亚洲第一福利在线观看| 久久久之久亚州精品露出| 日韩成人在线电影网| 亚洲石原莉奈一区二区在线观看| 国产精品青青在线观看爽香蕉| 中文字幕视频在线免费欧美日韩综合在线看| 超碰97人人做人人爱少妇| 国产精品日日做人人爱| 日韩欧美精品在线观看| 亚洲字幕在线观看| 高清欧美一区二区三区| 精品无人国产偷自产在线| 91久久精品美女高潮| 国产精品中文字幕在线观看| 色多多国产成人永久免费网站| 国语对白做受69| 日韩免费在线电影| 日韩精品中文字幕在线| 91精品视频免费看| 黑人巨大精品欧美一区免费视频| 久久久99久久精品女同性| 欧洲美女免费图片一区| 操日韩av在线电影| 欧美性videos高清精品| 欧美一区二区三区免费视| 精品福利在线视频| 91精品国产91久久久久久不卡| 亚洲夜晚福利在线观看| 原创国产精品91| 日韩av电影手机在线观看| 欧美电影免费在线观看| 国产91成人video| 欧美另类老女人| 55夜色66夜色国产精品视频| 97香蕉久久夜色精品国产| 欧美日韩一区二区三区在线免费观看| 91久久精品日日躁夜夜躁国产| 亚洲全黄一级网站| 亚洲伊人一本大道中文字幕| 欧美主播福利视频| 亚洲自拍高清视频网站| 亚洲一区二区国产| 91香蕉嫩草影院入口| 欧美日韩一区二区在线| 成人美女免费网站视频| 66m—66摸成人免费视频| 国产精品爱啪在线线免费观看| 91精品久久久久久久久久久| 欧美电影《睫毛膏》| 国产精品视频免费在线观看| 亚洲一区亚洲二区| 国产中文字幕亚洲| 日韩精品中文在线观看| 97国产成人精品视频| 日韩欧美高清在线视频| 国产精品mp4| 九九热精品视频| 日韩a**站在线观看| 亚洲性线免费观看视频成熟| 亚洲综合一区二区不卡| 国产精品色悠悠| 色诱女教师一区二区三区| 午夜精品免费视频| 久久精品电影网站| 欧美性极品xxxx娇小| 国产一区二区丝袜高跟鞋图片| 成人激情av在线| 欧美一级视频一区二区| 亚洲欧美日韩一区二区三区在线| 亚洲一级免费视频| 午夜精品久久久久久99热| 亚洲第一区在线| 3344国产精品免费看| 国产精品91在线观看| 日韩电影大片中文字幕| 2019最新中文字幕| 超碰91人人草人人干| 亚洲最大成人免费视频| 亚洲人高潮女人毛茸茸| 久久久精品久久久| 亚洲欧美制服另类日韩| 欧美精品日韩www.p站| 亚洲人成欧美中文字幕| 亚洲国产精品久久久| 日本精品免费观看| 久久久久久久久国产精品| 亚洲成人网在线| 国产精品男人的天堂| 亚洲综合中文字幕在线观看| 欧美日韩第一视频| 欧美理论电影在线观看| 91日本在线观看| 国产免费久久av| 国产免费一区二区三区香蕉精| 日韩av一区二区在线| 国产精品久久999| 欧美日韩中文字幕综合视频| 亚洲香蕉在线观看| www.日韩不卡电影av| 97视频在线观看免费| 亚洲成年网站在线观看| 久久99热精品这里久久精品|