Re: [問題] 一個socket+class的語法

看板C_and_CPP作者 (好人超)時間15年前 (2010/06/13 23:50), 編輯推噓1(103)
留言4則, 3人參與, 最新討論串2/2 (看更多)
※ 引述《kuro44776 (羽嵐)》之銘言: class CClientSocket : public CSocket { private: char pClientIP[16]; u_short clientPort; public: CClientSocket(CServerDlg *pServDlg); virtual ~CClientSocket(); void setSourse(char *ip,u_short port); char* getIP(); u_short getPort(); }; void CClientSocket::setSourse(char *ip,u_short port) { strcpy(pClientIP, ip); clientPort=port; } char* CClientSocket::getIP() { return pClientIP; // 不用加 * } 不敢說這樣的寫法就是您想要的答案 但我想這樣改一下應該會比較合理 您對於 char * 與 char 似乎沒有分得很清楚 另一個選擇是全面改用 std::string 也會比較省事 XD 對了,您原文的 *pClientSocket->setSourse(*pClientIP,clientPort); 似乎應該要改成 pClientSocket->setSourse(pClientIP,clientPort); 才對 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.117.171.46

06/13 23:56, , 1F
雖然compile還是不會過 不過還是要說一下謝謝
06/13 23:56, 1F

06/13 23:56, , 2F
因為socket的部分語法的關係 所以沒辦法用string =.=
06/13 23:56, 2F

06/13 23:57, , 3F
其實那不是問題 string隨時可用 c_str() 轉成 char *
06/13 23:57, 3F

06/13 23:57, , 4F
你想要 string 回傳 const char* 也是可以的呀~
06/13 23:57, 4F
※ 編輯: james732 來自: 140.117.171.46 (06/14 00:01)
文章代碼(AID): #1C5Fuq0K (C_and_CPP)
文章代碼(AID): #1C5Fuq0K (C_and_CPP)