如何解决unsigned char * 到 const char *的转换

spiker_h 2000-11-29 09:57:00
在使用Windows SDC的IIS SDK部分的Admin Base Object时,IIS 的Metabase中的属性值都以unsigned char *类型储存,取出后用cout<<输出的形式为字符和'\0'相间的形式,不知谁知道如何使unsigned char* 类型转换到char *类型。
...全文
20106 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
singlerace 2000-11-30
  • 打赏
  • 举报
回复
再强制转换一下看看:
char temp[256];
WideCharToMultiByte(CP_ACP, 0, (LPCWSTR)comment, -1, temp, 256, NULL, NULL);
spiker_h 2000-11-30
  • 打赏
  • 举报
回复
非常感谢,终于能用了,但是unsigned char*不是Unicode吗,为什么还要转换一下呢。如果不是Unicode,那又是什么格式呢,我在参考书上一直找不到相关信息。
zzh 2000-11-29
  • 打赏
  • 举报
回复
写一个函数不就可以了。
len为字符串的长度
chartobyte(char *a,BYTE *b,int len)
{
for(int i=0;i<len;i++)
b[i]=(BYTE)a[i];
}
spiker_h 2000-11-29
  • 打赏
  • 举报
回复
强制转换没用,vc会告诉你“无法将unsigned char*转换为const char*”
Edward 2000-11-29
  • 打赏
  • 举报
回复
强制转换呀!
spiker_h 2000-11-29
  • 打赏
  • 举报
回复
再说一下,好像unsigned char*指定的是Unicode类型,但我用过的Unicode与Ansi转换汉输如WideCharToMultiByte和_com_util::ConvertBSTRToString都提示了相似的错误信息,不得其解,如WideCharToMutiByte的用法
unsigned char* comment;
char *temp;
WideCharToMultiByte(CP_ACP, 0, comment, -1, temp, 256, NULL, NULL);//第六个参数不是很确定
编译后:
error C2664: 'WideCharToMultiByte' : cannot convert parameter 3 from 'unsigned char *' to 'const unsigned short *'
望赐教
spiker_h 2000-11-29
  • 打赏
  • 举报
回复
事实证明,转换是可以的,但有个问题,举例:我从IIS的Metabase中取出的ftp服务器的名字如果是"myftp",直接输出和转换后输出都成了"m",只有做一个循环单个字符输出才行,那样子是"m y f t p",空格部分应该是"\0"。既然widows自己把这些值的类型默认为unsigned char,那么没理由没有针对的转换函数。而且我有一点不得其解,char*指向的是字符串,又不用作数值计算,为什么需要定义为unsigned类型。
wuxin 2000-11-29
  • 打赏
  • 举报
回复
to spiker:
分两步转:
unsigned char* s;
const char* p = (const char*)(char*)s;
leer 2000-11-29
  • 打赏
  • 举报
回复
可以强制转换呀!!!
害的我还特地试了一下,结果是可以。把Warning Level调到4都没问题。

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧