我正在用Winsock库编写一个小型的控制台Messanger,但是如何将'char * argv []'参数从main传递给成员函数?
我已经定义并声明了一个类,其中所有用于设置客户端的事情都已完成(启动套接字,初始化...)。该类写在另一个文档中,但是当在main()中调用该函数时,我需要使一个成员函数能够访问char * argv []参数。
int CWinsock::Connect(/*pass argv here*/) {
printf("Connect to port\nPort: ");
std::cin >> m_port;//get port
memset(&m_addr, 0, sizeof(SOCKADDR_IN));
m_addr.sin_family = AF_INET;
m_addr.sin_port = htons(m_port);//Connect to port
m_rc = getAddrFromString(argv[1], &m_addr);//Get the IP adress
argv参数在上方使用
if (m_rc == SOCKET_ERROR) {
printf("IP not found!\n");
return 1;
}else
printf("IP found!\n");
...
}//Connect
答案 0 :(得分:0)
您可能只需要
int CWinsock::Connect(const char* adress)
{
//..
m_rc = getAddrFromString(adress, &m_addr);//Get the IP adress
//..
}
和main
中的
int main(int argc, char**argc)
{
// ..
CWinsock winsock{/*..*/};
// ..
int res = winsock.Connect(argv[1]);
// ..
}
答案 1 :(得分:-1)
似乎简单
NSBackgroundColorAttributeName
或(同一件事)
int CWinsock::Connect(char** argv) {
我想念什么吗?