loadrunner出现报错operands of = have illegal types `pointer to char' and `int'
2024-10-16 22:05:04
原始代码:
void split(char * p,char * str){
/*
传入一个数组进行p和一个以什么进行分割的str,返回切片后的值
*/
int i = 0, j = 0;
char tmp[32][32] = {0};
char *p1 = (char *)malloc(1024);
while((p1 = strchr(p, *str)) != NULL) //10行
{
strncpy(tmp[i], p, strlen(p) - strlen(p1));
p = p1 + 1;
i ++;
}
strncpy(tmp[i], p, strlen(p));
for(j = 0; j <= i; j++){
lr_output_message("tmp[%d] = %s\n", j, tmp[j]);
}
}
Action (){
char p[] = "www.baidu.com,www.taobao.com,www.csdn.com,www.python.org";
char str[] = ","; //分割的字符串
split(p,str);
return 0;
}
运行后第10行出现指针报错:operands of = have illegal types `pointer to char’ and `int’ ,百思不得其解,dev-C++中运行一切正常,各种排查后发现传参确实符合要求,但第10行给指针变量赋值时未对strchr返回的值进行强制类型转换(等于直接给指针变量赋值(太粗心了-_-!!))
修改后脚本:
void split(char * p,char * str){
/*
传入一个数组进行p和一个以什么进行分割的str,返回切片后的值
*/
int i = 0, j = 0;
char tmp[32][32] = {0};
char *p1 = (char *)malloc(1024);
while((p1 = (char *)strchr(p, *str)) != NULL) //必须使用(char *)进行强制类型转换
{
strncpy(tmp[i], p, strlen(p) - strlen(p1));
p = p1 + 1;
i ++;
}
strncpy(tmp[i], p, strlen(p));
for(j = 0; j <= i; j++){
lr_output_message("tmp[%d] = %s\n", j, tmp[j]);
}
}
Action (){
char p[] = "www.baidu.com,www.taobao.com,www.csdn.com,www.python.org";
char str[] = ","; //分割的字符串
split(p,str);
return 0;
}
loadrunner中执行结果:
Starting iteration 1.
Starting action Action.
Action.c(19): tmp[0] = www.baidu.com
Action.c(19): tmp[1] = www.taobao.com
Action.c(19): tmp[2] = www.csdn.com
Action.c(19): tmp[3] = www.python.org
Ending action Action.
Ending iteration 1.
最新文章
- 【夯实PHP系列】PHP正则表达式
- Autodesk的照片建模云服务—Autodesk ReCap 360 photo
- SCCM2012分发脚本
- 239. Sliding Window Maximum
- 将使用netTcp绑定的WCF服务寄宿到IIS7上全记录 (这文章也不错)
- kindeditor在sae上传文件修改,适合php
- mvn profile 深层次目录打参数核心配置
- [转]JavaScriptCore by Example
- 外设位宽为8、16、32时,CPU与外设之间地址线的连接方法
- hadoop原理
- 【Vue-Cli3.0】【2】渲染
- yarn的工作原理
- 7.8 paint.c 程序
- 《Inside C#》笔记(十四) 反射
- Luogu4249 WC2007 石头剪刀布 费用流
- 【鬼畜】UVA - 401每日一题&#183;猛男就是要暴力打表
- PHP微信关注自动回复文本消息。
- php预定义字符
- 对于低版本IE,ajax的设置处理
- vmware参数详解