作者james732 (好人超)
看板C_and_CPP
標題Re: [問題] 一個socket+class的語法
時間Sun Jun 13 23:50:09 2010
※ 引述《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
推 kuro44776:雖然compile還是不會過 不過還是要說一下謝謝 06/13 23:56
→ kuro44776:因為socket的部分語法的關係 所以沒辦法用string =.= 06/13 23:56
→ james732:其實那不是問題 string隨時可用 c_str() 轉成 char * 06/13 23:57
→ loveme00835:你想要 string 回傳 const char* 也是可以的呀~ 06/13 23:57
※ 編輯: james732 來自: 140.117.171.46 (06/14 00:01)