前言
想要对指定目录下已知文件名进行修改,用python实现很容易。但是用c来做还是要费一番功夫的。
实现
现在想要把字符串"./validation/image01.jpg"修改成"./validation/image01_det.jpg"。我的实现代码如下:
char str_detfile[64]; //最大的文件名字符个数,可以根据自己情况修改
//注意strrchr的用法
//该行代码用来找到第二个.在字符串中的位置
int point_pos = strrchr(strImageFile, '.') - strImageFile;
//用空格替代第二个.
strImageFile[point_pos] = 0;
//将一部分原始字符串内容和新的后缀组合成新的字符串
sprintf(str_detfile, "%s%s", strImageFile, "_det.jpg");
printf("%s\n", str_detfile);
总结
1)一般在C中修改字符串内容,比如插入新的字符串,需要借用sprintf来构造一个带修改的新字符串。
2)实现方式有多种,大家有好的方法,记得告诉我,谢谢。