51Testing软件测试论坛

标题: 关于整数与字符串的转换问题 [打印本页]

作者: 026300    时间: 2008-9-28 10:01
标题: 关于整数与字符串的转换问题
使用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
大家快来看看
作者: zj101582    时间: 2008-9-28 11:10
标题: 回复 1# 的帖子
itoa(a,bcid_2,10)”
问下LZ    bcid_2 是什么?
目标字符串  是 bcid_1 吗?
作者: 026300    时间: 2008-9-28 13:37
回楼上,目标字符串BC_2是定义的指针型变量。找到问题的原因了,在lr中支持的long型变量长度不够。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2