У меня огромный буфер известного размера. Мне нужно скопировать его фрагменты для отправки через сокеты на сервер. Для этой цели я пытаюсь скопировать, скажем, 1024 байта за раз, а затем отправить его.
Подвох в том, что я не знаю содержимое буфера. Это могут быть строки или двоичные файлы. Он должен работать со всеми данными, содержащимися в буфере.
Вот код, который я написал, и он, конечно, не работает. Это всего лишь небольшой тестовый код, и я сначала использую строку. Позже я хочу проверить ее с помощью некоторого двоичного файла и т. Д. Но сначала я должен получить правильные концепции указателей!
int main(int argc, char *argv[]){
char hexstr [] = { 0x02, 0x01, 0x03, 0x04, 0x05, 0x06};
//trying with a string
char Bbuf [20]= "Hihelloohowareyou?";
FillBuffer( Bbuf,sizeof(Bbuf));
return 0;
}
int FillBuffer(char *bigbuf, int len){
char smallbuf[4];
int i = 0;
int buflen= sizeof(smallbuf);
printf("length of smallbuf is= %d\n",buflen);
printf("length of original string= %d\n", len);
for( i=buflen; i< len+buflen;i =i+buflen){
memcpy(smallbuf,bigbuf,i);
printf("i== %d\n", i);
bigbuf= bigbuf+i;
//printf("smallbuf conatins= %s\n", smallbuf);
}
return 0;
}
Заранее спасибо