OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5039|回复: 17

怎么更改数组字符串的内容

[复制链接]

69

主题

495

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2197
金钱
2197
注册时间
2015-11-14
在线时间
542 小时
发表于 2017-3-9 22:21:17 | 显示全部楼层 |阅读模式
1金钱
    char a[2][10] = {"我我我","你你你"};
  我想将a[0]的 我我我 改成 我他我
  应该怎么弄?我搞了两天了,还是没搞成,要是弄不成,老板要抄我了,求大神帮帮我。。

最佳答案

查看完整内容[请看2#楼]

#include strcpy(a[0],"我你他");
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

50

主题

1805

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6662
金钱
6662
注册时间
2016-5-29
在线时间
910 小时
发表于 2017-3-9 22:21:18 | 显示全部楼层
本帖最后由 操作系统 于 2017-3-10 08:56 编辑

#include <string.h>



strcpy(a[0],"我你他");
回复

使用道具 举报

3

主题

105

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
297
金钱
297
注册时间
2013-12-24
在线时间
28 小时
发表于 2017-3-10 09:01:31 | 显示全部楼层
楼上正解!也可以自己拷贝
回复

使用道具 举报

69

主题

495

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2197
金钱
2197
注册时间
2015-11-14
在线时间
542 小时
 楼主| 发表于 2017-3-10 09:15:01 | 显示全部楼层

uchar code tbms2[2][18]={"投币模式 2币 1玩","投币模式        "};                hanzi_Disp(0,0,tbms2[0]);
                strcpy(tbms2[0],"投币模式 3币 1玩");
                hanzi_Disp(3,0,tbms2[0]);

输出的结果是一样的,并没有修改到
回复

使用道具 举报

13

主题

186

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
441
金钱
441
注册时间
2016-6-30
在线时间
97 小时
发表于 2017-3-10 09:32:52 | 显示全部楼层
本帖最后由 yijinxiaoyou 于 2017-3-10 09:35 编辑
单模先声 发表于 2017-3-10 09:15
uchar code tbms2[2][18]={"投币模式 2币 1玩","投币模式        "};                hanzi_Disp(0,0,tbm ...
strcpy((char*)(tbms2[0]),"投币模式 3币 1玩");
回复

使用道具 举报

69

主题

495

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2197
金钱
2197
注册时间
2015-11-14
在线时间
542 小时
 楼主| 发表于 2017-3-10 09:38:23 | 显示全部楼层
yijinxiaoyou 发表于 2017-3-10 09:32
strcpy((char*)(tbms2[0]),"投币模式 3币 1玩");

也不行
回复

使用道具 举报

13

主题

186

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
441
金钱
441
注册时间
2016-6-30
在线时间
97 小时
发表于 2017-3-10 09:41:52 | 显示全部楼层
yklstudent 发表于 2017-3-10 09:39
你都定义code常量了,你还想要改??????

额对的 没注意楼主把code去掉
回复

使用道具 举报

69

主题

495

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2197
金钱
2197
注册时间
2015-11-14
在线时间
542 小时
 楼主| 发表于 2017-3-10 10:07:41 | 显示全部楼层
yklstudent 发表于 2017-3-10 09:39
你都定义code常量了,你还想要改??????

可是我的12864只能显示存放在code的字符串啊,没有code的话就不能正常显示,但是我要在程序运行中修改这数组,应该怎么修改?
回复

使用道具 举报

69

主题

495

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2197
金钱
2197
注册时间
2015-11-14
在线时间
542 小时
 楼主| 发表于 2017-3-10 10:07:58 | 显示全部楼层
yijinxiaoyou 发表于 2017-3-10 09:41
额对的 没注意楼主把code去掉

可是我的12864只能显示存放在code的字符串啊,没有code的话就不能正常显示,但是我要在程序运行中修改这数组,应该怎么修改?
回复

使用道具 举报

13

主题

186

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
441
金钱
441
注册时间
2016-6-30
在线时间
97 小时
发表于 2017-3-10 10:13:53 | 显示全部楼层
单模先声 发表于 2017-3-10 10:07
可是我的12864只能显示存放在code的字符串啊,没有code的话就不能正常显示,但是我要在程序运行中修改这 ...

那你就多弄几个数组把 code运行时不可改变
回复

使用道具 举报

50

主题

1805

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6662
金钱
6662
注册时间
2016-5-29
在线时间
910 小时
发表于 2017-3-10 12:12:55 | 显示全部楼层
单模先声 发表于 2017-3-10 09:15
uchar code tbms2[2][18]={"投币模式 2币 1玩","投币模式        "};                hanzi_Disp(0,0,tbm ...

你用的是uchar code  当然没有办法修改了. code 就是 const.不可被修改.

uchar  tbms2[2][18]={"投币模式 2币 1玩","投币模式        "};                hanzi_Disp(0,0,tbms2[0]);
                strcpy(tbms2[0],"投币模式 3币 1玩");
                hanzi_Disp(3,0,tbms2[0]);

试试这样子看看.你C语言还得好好学学呀.
回复

使用道具 举报

69

主题

495

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2197
金钱
2197
注册时间
2015-11-14
在线时间
542 小时
 楼主| 发表于 2017-3-10 12:23:33 | 显示全部楼层
yklstudent 发表于 2017-3-10 11:16
你这个金牌会员真水,首先搞定为什么去掉code就不能正常显示;

这个我也很苦恼啊,已经在找了,还是没发现是什么问题
回复

使用道具 举报

69

主题

495

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2197
金钱
2197
注册时间
2015-11-14
在线时间
542 小时
 楼主| 发表于 2017-3-10 12:30:25 | 显示全部楼层
yklstudent 发表于 2017-3-10 11:16
你这个金牌会员真水,首先搞定为什么去掉code就不能正常显示;

这个我也很苦恼啊,已经在找了,还是没发现是什么问题
回复

使用道具 举报

3

主题

108

帖子

0

精华

高级会员

Rank: 4

积分
717
金钱
717
注册时间
2014-2-24
在线时间
257 小时
发表于 2017-3-10 14:02:18 | 显示全部楼层
看到评论想笑,楼主原code示例是在RAM操作,可以用strcpy;
后来发现不行了,贴出来才发现时const的,这能改变吗?一个RAM一个ROM 没话说了
用strcpy至少知道可以从哪里copy到哪里,不懂的看原型....

建议把部分不改变的string与需要改变的字段分开定义,如:
"投币模式 3币 1玩"-->可拆分"投币模式"、" "、"币"、"玩";这些不需要更改的就定义在ROM就行啦,没必要浪费资源。
至于数字就不多说了,一个变量。
12864有带字库和不带字库的,带字库的要从分利用字库资源....


回复

使用道具 举报

84

主题

766

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2775
金钱
2775
注册时间
2015-6-1
在线时间
394 小时
发表于 2017-3-10 14:22:03 | 显示全部楼层
请教楼主,一个汉字是占两个uchar么?用strcpy赋值的话,后面一旦多了几个字节不太好去呀,每次都检测本行有几字节数据么?
自在随心
回复

使用道具 举报

69

主题

495

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2197
金钱
2197
注册时间
2015-11-14
在线时间
542 小时
 楼主| 发表于 2017-3-10 16:20:40 | 显示全部楼层
小小怪 发表于 2017-3-10 14:02
看到评论想笑,楼主原code示例是在RAM操作,可以用strcpy;
后来发现不行了,贴出来才发现时const的,这能 ...

已经解决了,虽然不是用你的方法,还是谢谢
回复

使用道具 举报

69

主题

495

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2197
金钱
2197
注册时间
2015-11-14
在线时间
542 小时
 楼主| 发表于 2017-3-10 16:21:48 | 显示全部楼层
yuzeyuan1 发表于 2017-3-10 14:22
请教楼主,一个汉字是占两个uchar么?用strcpy赋值的话,后面一旦多了几个字节不太好去呀,每次都检测本行 ...

既然是自己替换的,自然就知道限制是多少,人为避免就行啦
回复

使用道具 举报

8

主题

145

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
462
金钱
462
注册时间
2016-12-14
在线时间
75 小时
发表于 2017-3-11 09:50:19 | 显示全部楼层
学习了。。。。
书山有路勤为径,学海无涯苦作舟!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-17 04:10

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表