026300 发表于 2008-9-28 10:01:29

关于整数与字符串的转换问题

使用web_reg_save_param取回来的值为122256549986294,所用的参数为BcID_1,不知道这个值是什么类型的,感觉是string,想把他转为整数,
因为后边的许多值是在该值的基础上递增的。使用了语句
    bcid_1=lr_eval_string("{BcID_1}");
    a=atol(bcid_1);
    a=a+1;
    itoa(a,bcid_2,10);
但是运行是发现两个错误:
第一,a取到的初始值为305905654,与122256549986294完全不同,但是bcid_1却正确,转化出错?不太理解;   
第二,运行结果报错:Error: C interpreter run time error: ConfigCircuitAction3.c (73):Error -- memory violation : Exception ACCESS_VIOLATION received.所指的行就是最后一句话“itoa(a,bcid_2,10)”

声明的语句为:
int a; char *bcid_1,*bcid_2; long atol(const char *bcid_1);

各位指导一下,到底什么地方出问题了?

026300 发表于 2008-9-28 10:40:28

大家快来看看:Q

zj101582 发表于 2008-9-28 11:10:21

回复 1# 的帖子

itoa(a,bcid_2,10)”
问下LZ    bcid_2 是什么?
目标字符串是 bcid_1 吗?

026300 发表于 2008-9-28 13:37:20

回楼上,目标字符串BC_2是定义的指针型变量。找到问题的原因了,在lr中支持的long型变量长度不够。
页: [1]
查看完整版本: 关于整数与字符串的转换问题