Привет всем!+) сабж Код (Text): ... int fileSize; fileSize=GetFileSize(hfile,NULL); send(S,fileSize,16,0); cannot convert parameter 2 from 'int' to 'const char *' не может конвертировать...лана делаем так. Код (Text): send(S,(const char *)fileSize,16,0); на сервер приходит не то что надо а именно знак > функция send 2ым параметром отпровляет значение типо сhar но у меня преобразование идет... из int в сhar и не так как надо. соб-но мне надо отправить размер файла...
send у тя просит 2м параметром адрес буфера, который нужно передавать. а ты ему пихаешь число - размер файла, например 102400. соотвественно send берёт то, что находится по адресу 102400 в АП твоего процесса. и исправно передаёт какую-то хрень.
надо сделать строковый буффер и напечатать туда размер файла в символах. и отправить. Код (Text): char buffer[64]; sprintf (buffer, "%d", fileSize); send (S, buffer, strlen(buffer), 0);
спс всем) дело в том то что fileSize у меня имеет значение int а мне надо в char прально RamMerLabs сказал
not1 Нет. Совсем не верно. fileSize это число. А тебе надо передать _адрес_ буффера - char* (именно со звездочкой, а не char). Читай учебник по языку си
<offtop> Great эм... ты имеешь ввиду я неверно сказал или ТС не верно понял? если первое - то где я неправ? </offtop>
RamMerLabs ТС совсем не так понял, как нужно. Ну а ты все верно написал, разве что не указал, что нужно сделать, чтобы передать строку с размером)
а зачем конвертировать число в строку (и у получателя, соответственно, обратно)? Код (Text): send(S, &fileSize, sizeof(int), 0); так не удобней?
ну да, конечно Код (Text): int fileSize = GetFileSize(hfile,NULL); send(S, (char*)&fileSize, sizeof(int), 0); и у получателя: Код (Text): int fileSize = 0; recv(S, (char*)&fileSize, sizeof(int), 0); // в fileSize - размер