过程如下:1.打开一个二进制日志文件
FILE* data_out_file;
data_out_file = fopen(out_data_file_name, "rb");2.定义一个CDataDialog cdlog,里面用一个cedi控件DDX_Text(pDX, IDC_EDIT1, m_cs),
m_cs 为CString类型,循环读出内容放入一个buffer内CDataDialog cdlog;
char        buffer[2048];
while(fread(&sc, 1, sizeof(sc),data_out_file))
{
    .............
while (sc.dlen > 0) 
{
bcount = (sc.dlen < 2048) ? sc.dlen : 2048;
memset(buffer,0,2048);
nchars = fread(buffer, 1, bcount, data_out_file);
cdlog.m_cs = cdlog.m_cs + buffer ; 
if (nchars == 0)
break;
sc.dlen -= nchars;
}
}
cdlog.DoModal();
fclose(data_out_file);问题出来了,因为我是二进制文件,所以里面有很多0字符,当cdlog.m_cs = cdlog.m_cs + buffer,就把
0当成是字符串结束标志了,后面的字符就没有放入m_cs内,所以cedit控件上显示的内容,跟二进制文件不同,
把有0字符的都给省略了,请问如何解决这个问题呀!多谢解决给分!