[問題] read( sockfd, buf, buf的大小?)

看板C_and_CPP作者 ( )時間15年前 (2010/04/29 17:47), 編輯推噓2(202)
留言4則, 3人參與, 最新討論串1/2 (看更多)
開發平台:Linux+gcc char buf[1024]; read(sockfd, buf, sizeof(buf)) buf的大小為1024,但如果我讀進來的資料超過1024,不就會有資料沒讀到嗎? 有沒有辦法先知道我要讀的資料大小,再去設第三個參數呢? 感謝解惑 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.251.183.145

04/29 17:48, , 1F
自己送過去吧 不然誰知道你送了多少...
04/29 17:48, 1F

04/29 17:49, , 2F
(例如在送資料前先送個 int 說接下來有多少之類的)
04/29 17:49, 2F

04/29 17:52, , 3F
要不要試試看用recv 他有回傳值知道長度
04/29 17:52, 3F

04/29 23:28, , 4F
read不是會回傳讀到的size嗎 如果讀到沒了就回傳-1
04/29 23:28, 4F
文章代碼(AID): #1BsLMU1- (C_and_CPP)
文章代碼(AID): #1BsLMU1- (C_and_CPP)