字符串长度超过最长允许值怎么处理

用串口接收一串字符串,形如"$c$%1345%*322252*#2424244#",然后对字符串进行处理,分别将$%*#隔开的数字送入不同的text中,可是接收的字符串过... 用串口接收一串字符串,形如"$c$%1345%*322252*#2424244#",然后对字符串进行处理,分别将$%*#隔开的数字送入不同的text中,可是接收的字符串过长,提示越界,貌似str中只能保存10个字符,超过10个字符后面的字符就会重新覆盖前面的字符,请问怎么处理?网上有人说用数组处理,如果可以,请详细说明,给出例程
Case comEvReceive
Dim str As String
str = MSCOM.Input

If Split(str, "$")(1) = "d" Then
Txt_now.Text = Split(str, "%")(1)
Txt_r.Text = Split(str, "#")(1)
Txt_l.Text = Split(str, "*")(1)
End If
展开
 我来答
ygk2003
2015-10-28 · 知道合伙人教育行家
ygk2003
知道合伙人教育行家
采纳数:4779 获赞数:139720
2007年毕业于兰州大学管理学院行政管理专业,学士学位。工会工作5年从业经历;档案工作7年从业经历。

向TA提问 私信TA
展开全部
1、字符串保存在字符变量中的大小是0~65535个字节,一般不会超过最长允许值。
2、字符串主要用于编程,概念说明、函数解释、用法详述见正文,这里补充两点:1.Free Pascal中的Ansistring只能看成整体,很多函数无法使用,就算是提取单个元素也很麻烦,所以除非万不得已就不要用;2.字符串在存储上类似字符数组,所以它每一位的单个元素都是可以提取的,如s=“abcdefghij”,则s[0]=“a”,s[9]="j",而字符串的零位正是它的长度,如s[0]=10(※上述功能Ansistring没有。),这可以给我们提供很多方便,如高精度运算时每一位都可以转化为数字存入数组。
百度网友bdb9803
2013-07-29 · TA获得超过1.1万个赞
知道大有可为答主
回答量:1.1万
采纳率:53%
帮助的人:1亿
展开全部
不会的,字符串型变量可以保存64K的字符,何止10个
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ZHMINGEN
2013-07-29 · TA获得超过1735个赞
知道大有可为答主
回答量:3149
采纳率:68%
帮助的人:1258万
展开全部
1、字符串保存在字符变量中的大小是0~65535个字节,不是你说的10个字节。
2、看你的字符串你需要检测的"%"、"#"、"*"字符不是一个,因此必须使用循环解决。
3、Txt_now.Text = Split(str, "%")(1),语句可能不正确,基本格式是:
Split(expression[,delimiter[,count[,compare]]]
其中expression是必须的,是需要转换为数组的字符串,delimiter是可选的,用于标界字符串边界的字符,count是可选的,需要返回的字符串,compare是可选的,判别比较方式的。
4、就一个数组赋值给一个文本框,好像也不对吧?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式