当前位置: 技术问答>linux和unix
【高手和版主帮忙啊】请教linux移植过程中二进制中文文件的乱码问题
来源: 互联网 发布时间:2016-01-17
本文导语: 我在把一个项目从windows移植到linux下,已经解决了所有的问题。 但通过测试确定了一个错误就是,原先在windows某配套程序生成的二进制文件A,要在我的程序中装载使用,里面有中文信息。 移植之后,将A文件放置在l...
我在把一个项目从windows移植到linux下,已经解决了所有的问题。
但通过测试确定了一个错误就是,原先在windows某配套程序生成的二进制文件A,要在我的程序中装载使用,里面有中文信息。
移植之后,将A文件放置在linux下读取,就发生了乱码。
请问高手朋友,如何解决啊,这方面一点经验都没有啊,多谢多谢了
附上读取函数:(windows下用这个函数读的,没有问题)
bool CDictionary::Load(const char *pszFileName)//*pszFileName是文件A的名称
{
FILE *fp;
Free();
if((fp=fopen(pszFileName,"rb"))==NULL)
return false; //fail while opening the file
fread(&m_nIndexSum,sizeof(int),1,fp); //ܵ
m_pIndexTable=new CIndexNode[m_nIndexSum];
for(int i=0;i
但通过测试确定了一个错误就是,原先在windows某配套程序生成的二进制文件A,要在我的程序中装载使用,里面有中文信息。
移植之后,将A文件放置在linux下读取,就发生了乱码。
请问高手朋友,如何解决啊,这方面一点经验都没有啊,多谢多谢了
附上读取函数:(windows下用这个函数读的,没有问题)
bool CDictionary::Load(const char *pszFileName)//*pszFileName是文件A的名称
{
FILE *fp;
Free();
if((fp=fopen(pszFileName,"rb"))==NULL)
return false; //fail while opening the file
fread(&m_nIndexSum,sizeof(int),1,fp); //ܵ
m_pIndexTable=new CIndexNode[m_nIndexSum];
for(int i=0;i