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

Cannot convert 'char *' to 'char'该怎么解决

2013-03-17 
Cannotconvert ɼhar *' to ɼhar'求解..AnsiString Str 123456789char *cStr

Cannot convert 'char *' to 'char'
求解..
AnsiString Str = "123456789";
char *cStr = new char[Str.Length()];
for(int i = 0; i < Str.Length(); i++)
{
      cStr[i] = Str.SubString(i*3 + 1,3).c_str(); //Cannot  convert 'char *' to 'char'
}

c_str()不就是转换的吗
[解决办法]
你想实现什么效果

cStr 是char* ,必须用.c_str复制
cStr[]是char类型  Str[i];这样赋值
cStr = Str.SubString(i*3 + 1,3).c_str(); //Cannot  convert 'char *' to 'char'



[解决办法]
Str.SubString(i*3 + 1,3) 至少返回3个字节, 你想存放到一个字节中去, 这不科学.

说吧, 你到底想实现啥需求?
[解决办法]
i*3会超出str的长度吧.
[解决办法]
char *cStr = new char[Str.Length()];改成
char **cStr = new char[Str.Length()];
[解决办法]
字符数组里存指针?行不通
[解决办法]
c_str();返回值是字符串 char *
[解决办法]
cStr  = Str.SubString(3 + 1,3).c_str();

热点排行