name_mangle.cc
来自「VC视频对象的跟踪提取原代码(vc视频监控源码)」· CC 代码 · 共 68 行
CC
68 行
/*************************************************************** * C++ source * * File : name_mangle.cc * * Module : name_mangle * * Author : A M Baumberg (CoMIR) * * Creation Date : Tue Jun 4 17:27:57 1996 * * Changes : nts: added gobble_number flag to name_mangle numbered * files, like camera38_0073.jpg to camera38.extension * ***************************************************************/#include "name_mangle.h"#include <cstdio> // for sprintf()#include <cctype> // for isdigit()#include <cstring> // for strrchr()namespace ReadingPeopleTracker{char* name_mangle(const char* filename, const char* new_extension, bool gobble_number){ if (filename == NULL) return NULL; int ext_len = 0; if (new_extension != NULL) ext_len = strlen(new_extension); char* result = new char[strlen(filename) + ext_len + 1]; strcpy(result, filename); char* old_extension = strrchr(result, '.'); if (old_extension == NULL) old_extension = &result[strlen(filename)]; if (gobble_number) { if (*old_extension == '.') old_extension--; while (isdigit(*old_extension)) old_extension--; while ((*old_extension == '_') || (*old_extension == '-') || (*old_extension == '.')) old_extension--; old_extension++; } if (new_extension != NULL) sprintf(old_extension,".%s", new_extension); else *old_extension = '\0'; return result;}} // namespace ReadingPeopleTracker
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?