您的位置:首页 > 其它

关于c_str()注意事项

2014-05-30 15:29 190 查看
   今天用想要获得Edit控件上的文本,所以就写了char * pDevId=Edit1->Text.c_str();但是发现获得字符串不对,查了BCB help有下面这句话

AnsiString::c_str() returns a non const temporary pointer to the internal string buffer in the AnsiString object. The pointer is invalid once the statement in which it is used has finished executing. 

示例也说明如果需要获得返回的指针,应改为

  char* pDevId = new char[ Edit1->Text.Length() + 1 ];

    strcpy( pDevId, Edit1->Text.c_str());

Mark,学好英语很重要
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  BCB