c – char *的写权限
Coincise问题:需要能够在c中修改char *的内容.
我有一个类似这样的函数:char * buffer =(char *)FUNCTION 现在我需要修改’缓冲’,例如做这样的缓冲[1] =“h”; 我尝试过的是以下内容: 我也尝试过malloc. 我查看了以下链接,但仍然无法做任何事情. 谢谢 解决方法
由于您的问题标记为C,我必须质疑您使用原始字母*的意图,除非您非常自信,否则不建议使用.
其次,char *或char []完全有效修改.您遇到的问题是您在“Hello World”中创建了一个const char *,然后尝试使其中的一个字符等于一个字符串.字符不是字符串. “r”是一个字符串,它是一个const char *.所以你试图将const char *等同于char,这是一个错误.你的意思是’r’,这是一个char. 更好的代码是: std::string mystring((char*)FUNCTION); // assume that FUNCTION // will free it's own memory. if (index < mystring.size()) mystring[index] = 'r'; // mystring now cleans up it's own memory in all cases. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |