[問題] winsock 的 hton ntoh 問題

看板C_and_CPP (C/C++)作者 (Deathful)時間15年前 (2011/07/06 23:04), 編輯推噓0(005)
留言5則, 2人參與, 最新討論串1/1
最近在用 winsock 寫一個 echo 小程式 client : 嵌入式系統(Win CE) server : Windows XP 程式須要讓client端把要送的字串用 hton 轉換 之後再傳給server端 server端 則要將收到的訊息用 ntoh 還原並顯示 所以先寫一個小程式來測試轉換過程 但遇到一個問題 程式碼如下: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <winsock.h> int main() { char *a = "abc" ; int aa ; printf("a = %s\n",a); aa = htonl(*a) ; printf("hton(a) = %d\n",aa ); //printf("a = %s\n", ntohl(aa) ); system("PAUSE"); return 0; } 已經將字串用 hton 轉換 但卻不會用 ntoh 換回原字串"abc"並印出(注解那行) 請高手幫忙解惑 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.41.124.41 ※ 編輯: deathfullove 來自: 114.41.124.41 (07/06 23:05)

07/06 23:11, , 1F
字串應該不需要用htonl吧...
07/06 23:11, 1F

07/06 23:12, , 2F
那幾個轉換函式是要對付不同系統對於「數字」的表示不同
07/06 23:12, 2F

07/06 23:12, , 3F
因為最後是要寫成傳送檔案,先用字串練習...
07/06 23:12, 3F

07/06 23:13, , 4F
我建議你再去看一下 big endian 與 little endian 的問題
07/06 23:13, 4F

07/07 09:40, , 5F
請問 關於winsock的hton,ntoh的問題 該找哪類書籍?
07/07 09:40, 5F
文章代碼(AID): #1E57cB-q (C_and_CPP)
文章代碼(AID): #1E57cB-q (C_and_CPP)