c++ - “*const char *”类型的值不能分配给“char *”类型的实体
问题描述
所以我试图避免为此使用字符串。我基本上是在尝试制作一个字符串数组。
char **hourtimes = (char**)malloc(100 * sizeof(char*));
for (int i = 0; i < 100; i++) {
(*hourtimes) = (char*)malloc((100 * sizeof(char)));
}
所以我基本上在这里做了一个字符串数组
现在,我想做hourtimes[0] = "twelve"
;
我试着做*hourtimes = "twelve";
但我得到了同样的错误,我认为这在 c 中有效,但我使用的是 c++
hourtimes[0][0] = 't';
hourtimes[0][1] = 'w';
等工作得很好,但这太麻烦了
解决方案
*hourtimes = "twelve"
设置*hourtimes
为指向不可变的字符串文字。然后,您尝试修改该不可变字符串。您要做的是将“十二”复制到 *hourtimes 中。
strcpy(hourtimes[0],"twelve");
注意:这个答案是在问题被标记为 C 的时候写的。C++ 将有不同的首选方式来做这种事情。
推荐阅读
- flutter - 如何解决flutter中的性能和热重载问题?
- opencv - 如何消除opencv中图片周围的黑色边框?
- javascript - 渲染函数返回在某些 DOM 元素 Apache Echarts 上生成的 html
- javascript - 当 url 哈希与特定 div 匹配时,将活动类添加到 div
- arrays - 如何使用 .net mvc 中的 ajax 调用将 int 类型的数组保存在数据库中?
- mysql - MySQL查询中基于字段值升序但同时混合在一起的排序
- unicode - 如何使用 fontforge 将非标准字体重新编码为 unicode
- node.js - 为什么 EC 密钥被视为 JWT 和 JWK 的有效 RSA 密钥?
- rest - 从 Power BI Desktop 向 Algorithmia API 发送发布请求
- wordpress - WordPress 的 wpcli 使用 http 而不是 https 进行插件更新