【问题标题】:How to delete last part of string in C如何在C中删除字符串的最后一部分
【发布时间】:2020-04-19 03:03:08
【问题描述】:

我需要字符串的某个部分,例如我有

folder1/folder2/folder3/folder4

我不想在我的新字符串中出现folder4,所以它应该是这样的 folder1/folder2/folder3

任何帮助将不胜感激我搜索了 strtok 和 strchar 但我无法弄清楚如何实现这一目标

【问题讨论】:

  • 为什么不用'/'分割
  • 找到字符串中的最后一个/ 并在其中插入一个零,不需要strtok。您可以使用strrchr 搜索最后一个/ 字符。
  • @KamilCuk 谢谢你真的很有帮助我记得你在另一篇文章中:D

标签: c string split char strtok


【解决方案1】:

使用strrchr() 查找最后出现的/,然后将其替换为\0

int main()
{
    char string[] = "folder1/folder2/folder3/folder4";
    char character = '/'; 
    char* ptr = strrchr(string, character);
    *ptr = '\0';
    cout<<string;
    return 0;
}

【讨论】:

  • 这不是 C++ 问题,而是 C。还有you shouldn't include bits/stdc++.h
  • @KamilCuk 你是对的,但它不会影响答案的主要内容。但无论如何我会删除它。谢谢。
猜你喜欢
  • 2012-09-01
  • 2014-03-28
  • 2013-10-14
  • 2013-08-05
  • 1970-01-01
  • 2020-10-09
  • 2011-04-14
  • 1970-01-01
  • 2012-06-07
相关资源
最近更新 更多