首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于转码乱码的有关问题

2014-01-01 
关于转码乱码的问题。本帖最后由 cklxh520 于 2013-12-24 12:06:13 编辑EventCode:7023,SourceName:Service

关于转码乱码的问题。
本帖最后由 cklxh520 于 2013-12-24 12:06:13 编辑
EventCode:7023,SourceName:Service Control Manager,Category:0,Type:?FFB4?FFED?FFCE?FFF3,User:NULL,Message:Offline Files ?FFB7?FFFE?FFCE?FFF1?FFD2?FFF2?FFCF?FFC2?FFC1?FFD0?FFB4?FFED?FFCE?FFF3?FFB6?FFF8?FFCD?FFA3?FFD6?FFB9:   系统找不到指定的路径。


我在读系统日志的时候,读出来居然有一半的能显示出中文,有一半不行。(有全部正常显示,也有全部不正常,还有如上一些正常,一些不正常),是什么原因导致的呢?而且这乱码好像也有点奇怪,都是FF开头,是不是转码有什么问题?
[解决办法]

#include <stdio.h>
#include <locale.h>
char s[]="EventCode:7023,SourceName:Service Control Manager,Category:0,Type:?FFB4?FFED?FFCE?FFF3,User:NULL,Message:Offline Files ?FFB7?FFFE?FFCE?FFF1?FFD2?FFF2?FFCF?FFC2?FFC1?FFD0?FFB4?FFED?FFCE?FFF3?FFB6?FFF8?FFCD?FFA3?FFD6?FFB9:   系统找不到指定的路径。";
char *p;
int r,c;
int main() {
    setlocale(LC_ALL,"chs");
    p=s;
    while (1) {
        r=sscanf(p,"?FF%2X",&c);
        if (r==EOF) break;
        if (r==1) {
            printf("%c",c);
            p+=5;
        } else {
            printf("%c",p[0]);
            p++;
        }
    }
    return 0;
}
//EventCode:7023,SourceName:Service Control Manager,Category:0,Type:错误,User:NULL,Message:Offline Files 服务因下列错误而停止:   系统找不到指定的路径。

热点排行