打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
c语言-字符串去掉最后一个字符

https://blog.csdn.net/andeyeluguo/article/details/81086260

在yolo中pdb出现了字符串“name\r”,错误,于是想到去掉字符串中的最后一个字符

  1. #include "stdio.h"
  2. #include "malloc.h"
  3. #include "string.h"
  4. int main()
  5. {
  6. char* s="GoldenGlobalView\r";
  7. char * d= (char *)malloc((strlen(s)-1)*sizeof(char));
  8. memcpy(d,s,(strlen(s)-1));
  9. printf("%s",d);
  10. free(d);
  11. return 0;
  12. }

也可以使用strncpy(dest,src,n),不过貌似memcpy最好。

太麻烦,不过没办法。

在darknet框架src/data.c中

可以重写

  1. char **get_labels(char *filename)
  2. {
  3. char * filename_no_r= (char *)malloc((strlen(filename)-1)*sizeof(char));
  4. memcpy(filename_no_r,s,(strlen(filename)-1));
  5. list *plist = get_paths(filename_no_r);
  6. free(filename_no_r);
  7. char **labels = (char **)list_to_array(plist);
  8. free_list(plist);
  9. return labels;
  10. }

不过最好的解决方案还是使用notepad更改数据格式改为unix。具体参见yolo栏目。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
在 Cython 中处理 C 字符串
06 字符串 转义字符
strcmp?strcpy?strcat?strlen?的实现?以及与strncat?st...
不会这些字符串操作,你怎么精通C语言?如何玩转C++?
2010笔面试专栏一:字符串
比较sizeof()与strlen()
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服