设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
中问网首页
我的收藏
站长博客
搜索
搜索
本版
帖子
用户
第一问答网
»
论坛
›
中问网
›
问答
›
请教一下wstring输出的问题
1
2
/ 2 页
下一页
返回列表
发新帖
请教一下wstring输出的问题
[复制链接]
11
|
10
|
2021-1-27 05:13:52
|
显示全部楼层
|
阅读模式
C++小白向大神们请教一下
staticintoutput_fa_and_child(structtree*fa)
{
printf("进程PID:%d\t进程名:%ws\n",fa->elem.processID,fa->elem.processName.c_str());
structtree*vy=fa->FirstChild;
while(vy){
output_fa_and_child(vy);//递归调用
vy=vy->NextBro;
}
return0;
}
这串代码,基本上都能输出进程名,但有一些进程没法输出进程名,甚至后面的换行符也不起作用了,想问问大神们是什么问题导致的。
分 -->
回复
使用道具
举报
千问
|
2021-1-27 05:13:52
|
显示全部楼层
进程没有名称很正常。
输入输出的时候先检测下,不然指向unsignedshortt[10]={0x0fff};这样的随意空间就会产生这样的状况。
回复
使用道具
举报
千问
|
2021-1-27 05:13:52
|
显示全部楼层
可能是进程名包含中文,中文的GBK编码在中文Windows的控制台下是能正常显示的,如果是中文的宽字符串(即Unicode)的,则中文部分显示会有问题。参见https://blog.csdn.net/binaryhead/article/details/109993588
回复
使用道具
举报
千问
|
2021-1-27 05:13:52
|
显示全部楼层
要看看你tree里面先前的处理是怎样的
回复
使用道具
举报
千问
|
2021-1-27 05:13:52
|
显示全部楼层
staticintoutput_fa_and_child(structtree*fa)
{
printf("\xe8\xbf\x9b\xe7\xa8\x8bPID:%d\t\xe8\xbf\x9b\xe7\xa8\x8b\xe5\x90\x8d:%s\n",fa->elem.processID,fa->elem.processName.c_str());
structtree*vy=fa->FirstChild;
while(vy){
output_fa_and_child(vy);
vy=vy->NextBro;
}
return0;
}
回复
使用道具
举报
千问
|
2021-1-27 05:13:52
|
显示全部楼层
对电脑而言没有乱码,只有二进制字节;对人脑才有乱码。啊GBK:0xB00xA1,Unicode-16LE:0x4A0x55,Unicode-16BE:0x550x4A,UTF-8:0xE50x950x8A
回复
使用道具
举报
千问
|
2021-1-27 05:13:52
|
显示全部楼层
引用5楼赵4老师的回复:
对电脑而言没有乱码,只有二进制字节;对人脑才有乱码。啊GBK:0xB00xA1,Unicode-16LE:0x4A0x55,Unicode-16BE:0x550x4A,UTF-8:0xE50x950x8A
这是你一直强调的对电脑而言没有乱码,其实是抬杠。我们人眼看到电脑显示字符是乱码,说是电脑乱码不对吗?在电脑中,以一种编码格式的字符编码值,强行解释为另外一种编码格式,就会出现乱码的。你上面的程序printf("\xe8\xbf\x9b\xe7\xa8\x8b...,在机器上运行过吗?不是乱码吗?
回复
使用道具
举报
千问
|
2021-1-27 05:13:52
|
显示全部楼层
乱码只是因为你不知道你用来输出的终端或窗口是否支持utf8编码的汉字显示。
回复
使用道具
举报
千问
|
2021-1-27 05:13:52
|
显示全部楼层
chcp65001
试试
回复
使用道具
举报
千问
|
2021-1-27 05:13:52
|
显示全部楼层
打了个断点试了试,发现是wstring乱码了,之前获取进程名称的时候不是乱码的,存到树结构里就乱码了。。
回复
使用道具
举报
1
2
/ 2 页
下一页
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
千问
主题
0
回帖
4882万
积分
论坛元老
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
积分
48824836
加好友
发消息
回复楼主
返回列表
问答
热门排行