| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 628 人关注过本帖
标题:const char * 无法赋值给 char *
只看楼主 加入收藏
bbb222
Rank: 2
等 级:论坛游民
帖 子:31
专家分:54
注 册:2012-11-17
结帖率:77.78%
收藏
已结贴  问题点数:20 回复次数:5 
const char * 无法赋值给 char *
这是为什么呢 要怎么解决...
2012-11-28 00:08
mfkblue
Rank: 5Rank: 5
等 级:职业侠客
帖 子:472
专家分:343
注 册:2008-12-21
收藏
得分:4 
void main()
{
    char a[]="abcde";
    char *b;
    b=a;
    printf("%s",b);
}
2012-11-28 01:10
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:4 
const char* a;
char* b = const_cast<char*>(a);

My life is brilliant
2012-11-28 03:21
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:4 
无法赋值才是正确的,可以赋值的话那就完蛋了,C++标准何必增加const这个关键字
2012-11-28 08:57
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:4 
可以的,强行转换就行了,这些都是在编译的时候检测而已,只要过了编译器就行。
比如:
char buff[128] = { "abcddddd" };
const char *p = buff;

{
    char *pStr = (char *)p; //
}

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2012-11-28 13:14
zhuanjia0
Rank: 4
等 级:业余侠客
威 望:3
帖 子:86
专家分:232
注 册:2012-1-13
收藏
得分:4 
肯定不能复制,char* 是常量,没有分配内存地址。
你可以这样做:

const char *c = "a";
char *p = new char[20];
p = (char*)c;
delete [] p;


[ 本帖最后由 zhuanjia0 于 2012-11-28 15:05 编辑 ]
2012-11-28 14:57
快速回复:const char * 无法赋值给 char *
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014047 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved