Re: [問題] 請問一個關於read/write的問題

看板Programming作者 (唸書唸書...)時間18年前 (2007/03/22 20:40), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/3 (看更多)
※ 引述《Tox (It's up to you)》之銘言: : 這是一個socket的程式 : 我節錄部份 : s是socket descriptor : 我對於stderr以及stdin和stdout不是很了解 : 他們的path是?或者是什麼情況要用到他們 : 在receive 的部份 : length = read(s, buf, sizeof(buf)); : if (length > 0) { : write(1, buf, length); : .....略 : } : 問題1 : 請問在此的1代表的是stdout嗎??? : 將資料從buf write到1(stdout?) : 同理 send部分 : while ( (length = read(0, buf, size)) > 0 ) { : l = write(s, buf, l); : total += l ; : } : 問題2 : 在此的0代表的是stdin嗎??? : 那這樣的話 我看不懂 從stdin read到buf 那stdin裡面會是什麼東西 沒有東西 因為之前stdin讀進來的東西已經塞進buf內了 這時候stdin應該是等待新資料進來的狀態 : 問題3 : fprintf(stderr, "socker create error "); : 那這樣 我要去哪看stderr log呢(換句話如果他寫到stderr 我怎麼知道) : 謝謝 直接改成 printf ("xxx error"); 來看比較快啦XD stdin 0 stdout 1 stderr 2 以上三個都是指fd number (file descriptor number) 建議你查一下read()和write()這兩個函數傳入的參數型態用法 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.88.177
文章代碼(AID): #160db3CQ (Programming)
文章代碼(AID): #160db3CQ (Programming)