【发布时间】:2011-05-19 11:26:20
【问题描述】:
我有一个已知大小的巨大缓冲区。我需要复制它的大块以通过套接字发送到服务器。为此,我尝试一次复制 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;
}
提前致谢
【问题讨论】: