c++ - 将 vector<char>* 传递给函数 getnameinfo

标签 c++ vector char pchar

如何将 vector* 类型的变量传递给 winsock2 的 getnameinfo 函数?

GetSocketIPAndPort( struct sockaddr* ss, vector<char>* pIP, uint16_t* nPort )
{
    if (status = getnameinfo((sockaddr*)sin,sizeof(sin),pIP,sizeof(*ptr),0,0,NI_NUMERICHOST))       
    {
        return status;      
    }
}

面对面,最好问一下如何将 vector* 转换为 PCHAR?

最佳答案

使用 vector::data 成员函数,它返回一个指向底层数组的指针:

GetSocketIPAndPort( struct sockaddr* ss, vector<char>* pIP, uint16_t* nPort )
{
    if (status = getnameinfo((sockaddr*)sin,sizeof(sin),pIP->data(),sizeof(*ptr),0,0,NI_NUMERICHOST))       
        return status;      
}

关于c++ - 将 vector<char>* 传递给函数 getnameinfo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10163389/

相关文章:

C++ vector 迭代器 + 偏移量超出范围

ios 将带有特殊字符的 NSString 转换为 const char

C++ 将指针传递给函数

c++ - pcap_loop中的回调方法

c++ - 高效计算 vector 组合

将日期数组转换为整数

c++ - 如何使用数组将多个字符串文字传递给函数(无 vector )

c++ - 简单的C++密码程序

c++ - 类型 X 的对象不能赋值,因为它的复制运算符被隐式删除

c++ - 对象 vector