C++中string类型用于send函数-socket发送zifu


send函数参数如下:

  ssize_t send(int sockfd, const void *buf, size_t len, int flags);

修改了很多次后终于可行的版本:    

  int TCP::send(const string& msg){
    printf("send msg to server: \n");

    //struct sockaddr_in addr;
    
     //if( send((int)_socketfd, (const void *)msg.c_str(), (size_t)length, 0) < 0)
    //char szText[] = "PC请求连接... \r\n";
    //if( ::sendto(_socketfd, szText, strlen(szText), 0, (sockaddr*)&addr,sizeof(addr)) < 0 )
    int ret;
    if(ret = ::send(_socketfd, (const void *)msg.c_str(),msg.length(), 0) < 0)
    {
      printf("send msg error: %s(errno: %d)\n", strerror(errno), errno);
    }
    return ret;
  }



版权声明:本文为zzuzadz原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。