请教:vc从尾部向上按字节读取文件,结果遇到中文就乱码,怎么解决?
int n = 1, nLines = 0;
BYTE c;
// 读5行内容
while (nLines < 5)
{
// 从文件尾向上移动指针
uPosition = file.Seek(-n, CFile::end);
// 到文件头了
if (uPosition == 0)
{
if (strRecord.GetLength() > 0)
{
strRecord.MakeReverse(); // 反向排列
strArrayBuffer.Add(strRecord);
}
break;
}
UINT len = file.Read(&c, 1); // 读一个字节
if (strLine == '\n')
{
n += 2;
nLines++;
strRecord.MakeReverse();
strArrayBuffer.Add(strRecord);
strRecord.Empty();
}
else
{
n++;
strRecord += (char)c;
}
}
结果读到中文的时候变成了其它的中文了,请问如何解决?
BYTE c;
// 读5行内容
while (nLines < 5)
{
// 从文件尾向上移动指针
uPosition = file.Seek(-n, CFile::end);
// 到文件头了
if (uPosition == 0)
{
if (strRecord.GetLength() > 0)
{
strRecord.MakeReverse(); // 反向排列
strArrayBuffer.Add(strRecord);
}
break;
}
UINT len = file.Read(&c, 1); // 读一个字节
if (strLine == '\n')
{
n += 2;
nLines++;
strRecord.MakeReverse();
strArrayBuffer.Add(strRecord);
strRecord.Empty();
}
else
{
n++;
strRecord += (char)c;
}
}
结果读到中文的时候变成了其它的中文了,请问如何解决?
...全文
相关推荐
解决win7 64位 vc6.0中文显示乱码问题
解决win7 64位 vc6.0中文显示乱码问题
VC6.0++乱码解决
一个非常好的解决VC乱码方法,让你不再烦乱码。
Visual Studio Code运行程序时输出中文成乱码问题及解决方法
今天写代码,需要输出一些中文,于是就顺势发现了这个问题:VS Code输出中文成乱码。上网查询了一番后,我找到了解决方法,我决定将我看到的方法整理出来,帮助更多朋友。(windows10系统下) 1. 打开控制面板 可以点击电脑桌面上的相应图标打开 也可以点击桌面左下角开始按钮,找到W开头文件列表下的windows系统文件夹中的控制面板 2.选择时钟和区域下的更改日期、时间或数字格式 3.点击管理,然后点选择更改系统区域设置 4. 勾选Beta版:使用Unicode UTF-8提供全球语言支持,然后点击确定,并同意系统的重启请求 重启电脑后就OK啦! 知识点补充:Visual St
VC++编译后出现中文乱码解决方案借鉴.pdf
VC++编译后出现中文乱码解决方案借鉴.pdf
VC6.0调用JSONCPP全案例_支持解析中文防乱码【无措版!】
VC6.0调用JSONCPP源码完整无错代码工程不要调用lib。jsoncpp代码版本:jsoncpp-src-0.5.0 。全部帮你弄好了,还有测试案例


