我想向我的服务器发送一个文本文件,但我收到了这个错误:
warning: passing argument 2 of 'send' from incompatible pointer type [-Wincompatible-pointer-types]
22 | send(sock, Download , 4096, 0);
| ^~~~~~~~
| |
| FILE * {aka struct _iobuf *}
我在这部分的代码是:
int sock;
FILE *Download;
void Downloads(){
char *filename = "X.txt";
Download = fopen(filename, "r");
send(sock, Download , 4096, 0);
}
我该怎么修?它将在Windows上运行。
send()
发送一个已在内存中的字节数组;它不知道如何从CCD_ 2指针中读取字节。要执行您想要的操作,您需要设置一个循环,从文件中读取一个字节数组,然后调用send()
将该数组发送到网络,然后重复,直到文件中的所有字节都已发送。请务必始终检查每个send()
调用返回的返回值,因为它可能并不总是发送您要求它发送的所有字节。