EVC下:
typedef struct
{
TCHAR id1[200];
TCHAR id2[200];
TCHAR id3[200];
TCHAR id4[200];
TCHAR id5[200];
TCHAR id6[200];
TCHAR id7[200];
TCHAR id8[200];
TCHAR id9[200];
TCHAR id10[200];
}Info;
Info pin;
wcscpy(pin.id1,_T("dd"));
wcscpy(pin.id2,_T("dd"));
wcscpy(pin.id3,_T("dd"));
wcscpy(pin.id4,_T("dd"));
wcscpy(pin.id5,_T("dd"));
wcscpy(pin.id6,_T("dd"));
wcscpy(pin.id7,_T("dd"));
wcscpy(pin.id8,_T("dd"));
wcscpy(pin.id9,_T("dd"));
wcscpy(pin.id10,_T("dd"));
CFile dateFile(_T("\\Storage Card\\table.dll"),CFile::modeCreate|CFile::modeWrite);
pin=pInfo.at(i);
dateFile.Write(&pin,sizeof(Info));
后在vc下读:
typedef struct
{
TCHAR id1[200];
TCHAR id2[200];
TCHAR id3[200];
TCHAR id4[200];
TCHAR id5[200];
TCHAR id6[200];
TCHAR id7[200];
TCHAR id8[200];
TCHAR id9[200];
TCHAR id10[200];
}Info;
::CFile fread(strFilePath,CFile::modeRead | CFile::shareDenyWrite);
CString str;
Info pInfo;
fread.Read(&pInfo,sizeof(Info));
str.Format("%s",pInfo.id8);
AfxMessageBox(str);
fread.Close();
弹出的结果不对,只有一个d
这个问题出现在哪儿?
高手帮助
VC下默认不是UNICODE,
EVC下使用的是UNICODE。
你可以设置VC中使用UNICODE,就没有问题了。
这个如何设置为UNICODE ?同时这个程序还要关联其他数据库,设置为UNICODE ,需要改变其他程序吗?
最好在文件操作时,都不使用Unicode。即写文件时,将Unicode转换翃ASNI,再写入文件。
这样EVC和VC在文件操作时,容易一致。
TCHAR 的定义,好像只是一个宏:
在ASNI时,为char
但在Unicode时,为unsigned short
所以LZ上面的两个结构,看似一样的定义,其实是不一样的,所以会出现错误。
斑竹(91program),请根据我的想法,用结构,给我一个简单的例子.
具体如何做,91program 请给我一个简单的例子,让我学习以下,以前没有遇到这样的问题.