C语言拆分字符串名称与扩展名

对于字符串切分用到了函数:strrchr(const char *str, char c)

功能是查找一个字符c在另一个字符串str中末次出现的位置(也就是从str的右侧开始查找字符c首次出现的位置),并返回这个位置的地址。如果未能找到指定字符,那么函数将返回NULL。使用这个地址返回从最后一个字符c到str末尾的字符串。


void get_label_filename(const char* image_filename, char* label_filename) {
  // std::vector<std::string> vecSegName;
  // boost::split(vecSegName, std::string(image_filename), boost::is_any_of('.'));
  int in = 0;
  char cFile[256] = {0};
  strcpy(cFile, image_filename);
  char* put;
  // concatenate label_filename
  put = strrchr(cFile, '.');
  char ext[3];
  memcpy(label_filename, cFile, strlen(cFile)-strlen(put));
  memcpy(ext, put + 1, strlen(put) -1);
    free(put);
  put = NULL;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值