Показать сообщение отдельно

  #10  
Старый 25.09.2008, 06:44
0x0c0de
Постоянный
Регистрация: 25.05.2007
Сообщений: 448
С нами: 9981026

Репутация: 1564
По умолчанию

Цитата:
Сообщение от _nic  
ну если sizeof() неподходит ,то что вместо него использовать?
Цитата:
char *buf=new char[(1024*1024)*10];

....
ReadFile(f,buf,sz,&rb,0)
....
MessageBox(0,CurrToStr((int)sizeof(buf)).c_str()," !!!",MB_OK);
Зачем вообще тут sizeof? Я чего-то недопонимаю? Точное количество записанных в buf байт в переменной rb. Зачем извращать-то там, где не надо? Что мешает это значение использовать?

Код:
if(sz<(1024*1024)*10){ReadFile(f,buf,sz,&rb,0);send(s,buf,strlen(buf),0);break;}
}
strlen(buf) - тоже самое. Зачем, когда rb уже содержит нужное значение?

Код:
if(sz<(1024*1024)*10){ReadFile(f,buf,sz,&rb,0);send(s,buf,rb,0);break;}
}
Да и потом strlen может херню вернуть ибо вы пишите

Цитата:
Данные с помощью ReadFile из бинарного файла
http://www.cplusplus.com/reference/clibrary/cstring/strlen.html

Цитата:
The length of a C string is determined by the terminating null-character
....
У тебя ноль где-нибудь в середине буфера будет и будет не айс ведь. половину только отошлешь

Последний раз редактировалось 0x0c0de; 25.09.2008 в 07:08..
 
Ответить с цитированием