vc 字符 乱码

RFEZGC 2010-04-13 01:10:15
char pc[15]={"123456789abcd"};
char* pc1=new char[10];
for(int i =0;i<10;i++){
PA(pc[i]);
pc1[i]=pc[i];

}
PA(pc1);//为什么为出错
PA(strlen(pc1));??==24???
不是10吗?在char* pc1=new char[10];
...全文
95 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zgl7903 2010-04-13
  • 打赏
  • 举报
回复
char pc[15]={"123456789abcd"};
char* pc1=new char[11];//多分配一个结束符单元
memset(pc1, 0, 11); //全部清零
for(int i =0;i<10;i++){
PA(pc[i]);
pc1[i]=pc[i];
}
PA(pc1
蒋晟 2010-04-13
  • 打赏
  • 举报
回复
pc1本来就不是字符串,是字符数组而已,没有终止符的。
cdsnpeter 2010-04-13
  • 打赏
  • 举报
回复
看看sizeof(char)是多大?

15,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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