CAPL脚本要注意区分elcount和strlen求数组长度的区别,不然要吃大亏
Posted 蚂蚁小兵
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CAPL脚本要注意区分elcount和strlen求数组长度的区别,不然要吃大亏相关的知识,希望对你有一定的参考价值。
- 🍅 我是蚂蚁小兵,专注于车载诊断领域,尤其擅长于对CANoe工具的使用
- 🍅 寻找组织 ,答疑解惑,摸鱼聊天,博客源码,点击加入👉【相亲相爱一家人】
- 🍅 玩转CANoe,博客目录大全,点击跳转👉
🍅 elcount和 strlen比较
- elcount : 计算Byte数组或者char型数组的定义时的大小,无论定义时数组是否被填充
- strlen :返回char型数组的实际被填充字符的大小,无法用于计算byte型数组
on key 'a'
char test_1[200];
char test_2[200] = "hello world!";
write("elcount >>>>>>> test_1 : %d ; test_2 : %d",elcount(test_1),elcount(test_2));
write("strlen >>>>>>> test_1 : %d ; test_2 : %d",strlen(test_1),strlen(test_2));
输出:
Program / Model elcount >>>>>>> test_1 : 200 ; test_2 : 200
Program / Model strlen >>>>>>> test_1 : 0 ; test_2 : 12
🍅 strlen需要注意的点
char test_3[5] = "1234"; //正确定义
char test_3[4] = "1234"; //错误的,capl不报错,会有warning,会自动cut掉4,实际存储的时“123”
🍅 elcount需要注意的点
- 如果数组是二维数组,则
elcount(arrary)
只返回一维数组的大小,如果需要获取二维数组大小,需要elcount(arrary[0])
on key 'a'
byte test_3[2][10];
write("一维数组大小:%d ;二维数组大小 :%d",elcount(test_3),elcount(test_3[0]));
输出:
Program / Model 一维数组大小:2 ;二维数组大小 :10
🌎总结
- 🚩要有最朴素的生活,最遥远的梦想,即使明天天寒地冻,路遥马亡!
- 🚩如果这篇博客对你有帮助,请 “点赞” “评论”“收藏”一键三连 哦!码字不易,大家的支持就是我坚持下去的动力。
以上是关于CAPL脚本要注意区分elcount和strlen求数组长度的区别,不然要吃大亏的主要内容,如果未能解决你的问题,请参考以下文章