我在读一个unicode类型的文本文件的时候。
CFile cf;
cf.open(filename,CFile::modeRead);
cf.seek(2,CFile::begin);
CString buf;
int n=cf.Getlength();
cf.read(buf.GetBuffer(n-2),n-2);
cf.close();这么一读出来的东西,为什么多那么多字节呢?
然后后面就是一些正方形的字符,怎么回事呢?
int n=cf.GetLength();
文件的长度不就是字节数吗?
==================================================
还有同样的问题出现在写文件的过程中。
buf已经赋值了! CFile cf;
cf.Open(filepath,CFile::modeCreate|CFile::modeWrite);
int n=buf.GetLength();
WORD wFlag=0xFEFF;
cf.Write(&wFlag,2);
cf.Write(buf.GetBuffer(n),n);
buf.ReleaseBuffer();
cf.Close();
这个也是要不就是少写了几个字符,要不就是多出了几个正方形的字符,
这个到底是怎么回事呢?
有没有人碰到过这种问题呢?
谢谢了!