急!急!求助怎么样实现字符串转换成数组的方法
外部传参传进一个4000位长的字符串,我需要把字符串按照每8位一个转移的数组中,该怎么转换,
求大哥们帮帮忙!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
外部传参传进一个4000位长的字符串,我需要把字符串按照每8位一个转移的数组中,该怎么转换,
求大哥们帮帮忙!
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(7)
回复 7# wjj0532
能详细解释一下么?
MOVEA 有什么弊端么? 能详细解释一下么?
本帖最后由 passthru 于 2010-03-17 23:09 编辑
根本不用写任何C表代码,用D表定义好直接使用:
d RecDs ds based(p@Ptr)
d a@Array likeds(a@ArrayBase) dim(500)
d c@String 1 4000
*
d a@ArrayBase ds qualified
d c@Item 8
*
d p@Ptr s *
*
c *entry plist
c parm p@Ptr
........
程序通过pointer引入这个字符串,就自动可以直接使用了,如:
s@i = 1;
dow %len(%trim(a@Array(s@i).c@Item )) <> 0 or
s@i <=500;
.....
s@i = s@i + 1;
enddo;
.......
回复 4# wjj0532
开发规约不让用MOVEA,要不早就用了
直接MOVEA就行~
回复 2# huangxkst
谢谢了
我用的 DOW W@P <= P@NUM
EVAL W@ZTXBCD(W@P) = %SUBST(P@HNCD:W@T:
EVAL W@P = W@P + 1
EVAL W@T = W@T + 8
ENDDO
大家共同学习 。
回复 1# jifengspy
直接move到指定的数组就可以了啊
string s 4000
ary s 8 dim(500)
...
moveA string ary
....