📙 相关文章
📘前言
- 🍅习惯了用Python的各种库,在用CAPL总是要不断的自己造轮子的,
- 🍅 分离输入文件的路径和文件名,CAPL也可以向Python一样方便?
- 🍅演示软硬件环境 Win10 x64 ; CANoe 11 SP2 x64
📗 Python脚本的方法
下面看下Python的方法,只需要引用os模块即可。
import os
f = "a/b/c/d.txt"
name, ext = os.path.splitext(f)
print (os.path.dirname(f))
print (os.path.basename(f))
输出结果:
a/b/c
d.txt
📗 CAPL脚本的方法
在CAPL中没有库可以用的,我们只能自己造轮子的。
- 1️⃣ 得到输入文件的文件名
// 得到输入文件的文件名
GBF_ExtractFileName (char pathIn[], char fileNameOut[])
{
int i, j;
j = 0; i = 0;
//clear fileNameOut
snprintf(fileNameOut, strlen(fileNameOut), " ");
for(i=strlen(pathIn)-1; i>= 0; i--)
{
if(pathIn[i] == '\\' )
break;
}
if( i != 0)
i++;
for( i; i < strlen(pathIn); i++ )
fileNameOut[j++] = pathIn[i];
fileNameOut[j] = '\0';
}
- 2️⃣ 得到输入文件的文件路径
// 得到输入文件的文件路径
GBF_ExtractFilePath (char pathIn[], char pathOut[])
{
int i, j;
j = 0;i = 0;
for(i=strlen(pathIn)-1; i>= 0; i--)
{
if(pathIn[i] == '\\' )
break;
}
if( i != 0)
i++;
for( j = 0; j < i; j++ )
pathOut[j] = pathIn[j];
}
- 3️⃣ 测试代码:
{
char in_array[300]="a\\b\\c\\d.txt";
char out_array[300];
char out_array2[300];
GBF_ExtractFileName(in_array,out_array);
GBF_ExtractFilePath(in_array,out_array2);
write("out_FileName = %s ",out_array);
write("out_FilePath = %s ",out_array2);
}
测试结果:
out_FileName = d.txt
out_FilePath = a\b\c\
注意:
Python 下的输入文件格式: “a/b/c/d.txt”
CAPL 下的输入文件格式:“a\b\c\d.txt”
🌎总结
✂️ 欢迎关注下方的公众号,里面也有源码,而且存放了一些通讯协议,ISO,和博主工作中搜集到的一些资料,也许有你感兴趣的。👇点击跳转
- 🚩要有最朴素的生活,最遥远的梦想,即使明天天寒地冻,路遥马亡!
- 🚩 有微信的小伙伴可以关注下浪哥车载诊断,一个行业内小小圈子,群里有
网盘资料
,源码
,还有各路大神
闲时交流交流技术,聊聊工作机会啥的。
- 🚩如果这篇博客对你有帮助,请 “点赞” “评论”“收藏”一键三连 哦!码字不易,大家的支持就是我坚持下去的动力。