看板 C_and_CPP 關於我們 聯絡資訊
不好意思 資質駑鈍~~" 想要問一下推文大大的寫法結構 內部的傳遞 跟原po的差在哪 才導致結果不同 是如果用原Po的寫法要寫成 int *a; *a = 100; server: write(newsockfd, a ,siezof(*a)); ???還是根本不是這個問題~~ 感謝大大指點了> < 作者 go750626 (..........) 看板 C_and_CPP 標題 [問題] socket programming write,read問題 時間 Wed Mar 16 20:02:21 2011 ─────────────────────────────────────── 開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Linux 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 最近嘗試寫一個socket小程式 server,client連線已經建立好 write,read char array也都讀得到 請問一下 write可以丟入int嗎? 今天測試一直不成功 類似這樣: int *a; *a = 100; server: write(newsockfd, a ,siezof(a)); client: int *b; read(sockfd,b,sizeof(b)); 不知可行嗎? 哪邊有錯? 可以的話如果要讓server連丟3個整數 client可以分別存入3個變數要怎麼做? 就我所道一直丟的話 write的buffer會一直塞 那client要怎麼區別? 餵入的資料(Input): 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.57.151.79
chchwy:何不說說你嘗試的結果? 錯誤訊息是什麼?03/16 20:20
james732:int a = 100; write(newsockfd, (void *)&a ,siezof(a));03/16 20:21
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
james732:int b; read(sockfd,(void *)&b,sizeof(b));03/16 20:21
james732:你原本的程式碼犯了十三戒第三
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 124.8.136.122
akasan:a 是一個 pointer 但是他指向哪裡? 03/16 23:51
purpose:你先想想,如果寫個函數,能從 arg1 傳入的記憶體位址開始 03/16 23:56
purpose:複製 n 位元組,到另一個固定的位址要怎麼寫。n 用arg2 傳 03/16 23:56
kiedveian:還是十三戒之三 03/17 00:34
FAITHY:恩 感謝 在回去思考一下... 03/17 21:10