У меня есть этот код:
while (1) {
char buffer[4096];
memset(buffer,0,4096);
int bytes_read = recv(client_fd, buffer, sizeof(buffer),0);
if (bytes_read == 0)
break;
if (bytes_read < 0) {
std::cout<< "Error "<<endl;
}
void *p = buffer;
int dest;
dest=open("/root/hello.txt",O_WRONLY);
while (bytes_read > 0) {
int bytes_written = send(dest, buffer, bytes_read,0);
if (bytes_written <= 0) {
std::cout<< "Error2 "<<endl;
}
bytes_read -= bytes_written;
p += bytes_written;
}
}
Я получаю файл правильно.Программа зацикливается, когда cout равен «Error2», поэтому send возвращает -1.Проблема заключается в том, чтобы записать файл в новый дескриптор файла, в данном случае это переменная с именем dest
.Как я могу решить эту проблему?