ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 开发语言越便捷,我们要越仔细

开发语言越便捷,我们要越仔细

原创 Linux操作系统 作者:leniz 时间:2009-03-31 10:04:14 0 删除 编辑

昨天方生在写他的自动发送报表程序时出现一个问题,就是字串会自动截断,我开始怀疑是长度问题,因为他用的是String类型,不清楚可用长度,于是改用C类型,把长度定位1024,这个长度是大于他的所有字符长,可是结果仍然截断。

  早上方生把问题查出来了,是他写的大于小于符号搞的鬼,因为”>”,”<”是标签的字符,他的程序实现用邮件的方式发送报表,邮件内容用的是网页的格式,所以在出现标签字符时要考虑转义。 HTML在处理大于小于号时使”<”,”>”,

他按照這个方法去做,发现还是不行,沒有显示大于小于符号,而是出现了一个微分符号“∫”,这个挺怪的。我检查了一下他的字符串,发现大于小于后面连得单词是“Internal”,而int好像是微分的简写,所以是否是最后的字符是“&int”,也就是说字符“lt”不见了。 我怀疑是否是前后字符的问题,所以加了一个空格转义“ ;”,无意中想起转义字符最后要用分好结束,所以大于小于应该是“<;”、“>;”。 他是把这个符号声明为变量的,我在测试的时候把所有的内容都屏蔽了,直接写了几个字符,其中就包含“<”,因为我想用最简单的方式把转义是否成功测试出来。 结果发送后检查邮件,出现了久违的“>”,通过这一点证明转义的功能是正确的,那么下一步我就判断是否在程序连接所有的字符时出现了一些异常,那么最好的方面就是逐步调试,当程序运行到通过判读得出大于小于符号式,赋值的“<;”、“>;”变成了一个字符“&”,看了有点难过,原来在声明大于小于变量时用的是默认的一个字符长度,所以后面的东西都被截掉了,原来问题发生在这里。ABAP在声明变量时,如果不指定类型,默认为C型,长度为1.

    在编程过程,声明变量时,系统的便利性带了了一些意想不到东西,所以编程语言越是便捷,我们越是要小心。

 

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/554557/viewspace-582300/,如需转载,请注明出处,否则将追究法律责任。

下一篇: GOOD
请登录后发表评论 登录
全部评论

注册时间:2008-05-31

  • 博文量
    448
  • 访问量
    1105994