我的应用是这样的:CString add="E:\test.html";
CFile file;
file.Open(add,CFile::modeRead|CFile::typeBinary);
char* text=new char[file.GetLength()+1];
int read=file.Read(text,file.GetLength());
text[read]=NULL;至此text操作完成,现要将text中的内容拷贝到CString对象中:
我这样操作过都不行,
CString t(text);
CString t(*text);
CString t(text,strlen(text);
CString t(*text,strlen(text));
CString t(text,file.GetLength()+1;
CString t(*text,file.GetLength()+1);CString t;
t.format("%s",text);
但以上操作都不能成功的将char text[]中的内容拷贝到CString对象中,请问怎样做可以安全的实现?谢谢!
CFile file;
file.Open(add,CFile::modeRead|CFile::typeBinary);
char* text=new char[file.GetLength()+1];
int read=file.Read(text,file.GetLength());
text[read]=NULL;至此text操作完成,现要将text中的内容拷贝到CString对象中:
我这样操作过都不行,
CString t(text);
CString t(*text);
CString t(text,strlen(text);
CString t(*text,strlen(text));
CString t(text,file.GetLength()+1;
CString t(*text,file.GetLength()+1);CString t;
t.format("%s",text);
但以上操作都不能成功的将char text[]中的内容拷贝到CString对象中,请问怎样做可以安全的实现?谢谢!
最起码 add的值应该是CString add="E:\\test.html";
另外text[read]=NULL;最好写成 '\0';
CString buf;
buf.Empty();
while(size<file.GetLength())
{
char text[4001];
char text[0]=NULL;
long read=file.read(text,4000);
char[4000]=NULL;
buf+=CString(text);
size+=read;
}
buf.Getlength(); //这几返回的也是正确的文件长度