用c#的System.IO.BinaryWriter.Write(string strText)写入一串数字,比如:8678788278868682到文件MyFile.vsk中(在c#中读取验证无误)然后在vc6.0中读取:
CStdioFile stdFile;
UINT uNumber = 0;
CString strTemp;
stdFile.Open("MyFile.vsk",CFile::modeRead|CFile::typeBinary)
stdFile.ReadString(strTemp);
stdFile.Close();结果发现strTemp读出来的字符不可辨识。然后修改为
stdFile.Open("MyFile.vsk",CFile::modeRead|CFile::typeBinary)
if(strFile.Read(&uNumber,sizeof(uNumber))!=sizeof(uNumber))
{
stdFile.Close();
return;
}
stdFile.ReadString(strTemp);
stdFile.Close();这时读出来的strTemp少了两个数字,成了:78788278868682。
请问这是什么原因,应该怎么解决?
CStdioFile stdFile;
UINT uNumber = 0;
CString strTemp;
stdFile.Open("MyFile.vsk",CFile::modeRead|CFile::typeBinary)
stdFile.ReadString(strTemp);
stdFile.Close();结果发现strTemp读出来的字符不可辨识。然后修改为
stdFile.Open("MyFile.vsk",CFile::modeRead|CFile::typeBinary)
if(strFile.Read(&uNumber,sizeof(uNumber))!=sizeof(uNumber))
{
stdFile.Close();
return;
}
stdFile.ReadString(strTemp);
stdFile.Close();这时读出来的strTemp少了两个数字,成了:78788278868682。
请问这是什么原因,应该怎么解决?
char *buffer = new char[file.GetLength()];
然后转换,不过数组头两个字符是干什么用的?