通过Tcp套接字发送文件大小

时间:2016-11-01 09:28:56

标签: c++ sockets tcp integer

您好我正在使用Visual Studio 2015.问题是当我将文件大小发送到服务器套接字时。 N保存文件大小的int值。代码有什么问题?代码是:

    int size = htonl(n);
    send(sock, &size, sizeof(size),0);

我得到的错误是: “int *”类型的参数与类型
的参数不兼容 “const char *”

1 个答案:

答案 0 :(得分:1)

如果您看到例如this send reference您将看到数据需要const char *个参数。当您使用&size时,您会创建指向int的指针,即int *。这两种类型不能在彼此之间隐式转换。

您需要将指针强制转换为正确的类型:

send(sock, reinterpret_cast<char*>(&size), sizeof(size),0);