我把从视频读出的图片直接保存到共享文件夹中,1s保存10张,然后在那台机子上读取共享文件中的图片,1s读10张,图片大小30k左右,可是速度特别慢。有那位高手指点下,这种视频传输的想发对不对。
   后来我改了,想用udp协议sendto直接发给socket,可是把读出的char ch[]图片数据转化为CString str时就出错了,大侠指点下错哪了,代码如下:
void CMy200Dlg::OnOK() 
{
FILE *file=fopen( "1.bmp", "rb");
char *buf;
fseek(file,0,SEEK_END);
int len=ftell(file);
buf=new char[len+1];
rewind(file);
memset(buf,0,len);
fread(buf,1,len,file);

char ch[1024*80];
int i=0;
int n=0;
while(i<=len)
{
ch[i]=buf[n];
i++;
n++;
} //在用的方法
        CString str;
int ii=0;
int jj=0;   
        while(ii<456)
{
str.Insert( ii, (TCHAR) ch[jj] );
ii++;
jj++;
}    //str.Format("%s",ch);//第一种方法

    //strncpy(ch,(LPCTSTR)str,sizeof(ch)); //第二种方法 /*strcpy(str.GetBuffer(len),ch); //第三种方法
str.ReleaseBuffer();*/

////////////////////////////////////////////////
char ch1[1024*80];
memset(ch1,0,1024*80);  i=0;
 n=0; while(i<=len)
{
ch1[i]=str[n];
i++;
n++;
} FILE *file00=fopen( "5.bmp", "wb");
fwrite(ch1,1,len,file00);//如果直接用ch保存就没问题,用ch1就出错
fclose(file00);
//CDialog::OnOK();
}
以上代码的功能是把“1.bmp”图片读入内存,转换为CString str格式,然后再转回char ch1[],把ch1中的图片数据保存到“5.bmp”中,可就是转换过程出错。