gpt4 book ai didi

c++ - 如何仅打印完整路径名的文件部分?

转载 作者:行者123 更新时间:2023-12-02 10:10:41 24 4
gpt4 key购买 nike

这是我所面临的问题的简要介绍:

#include <iostream>
#include <cstring>

int main()
{
char path[100] = "home/user/cvs/test/VSCode/Test.dll";
char *pos = strrchr(path, '/');
if (pos != NULL)
{
*pos = '\0';
}
printf("%s", path);
}
我在路径名中找到最后一个“/”,并且需要在最后一个“/”之后打印所有内容,因此输出需要为:
Test.dll
但是,使用我当前的代码,输出为:
home/user/cvs/test/VSCode
基本上,我的代码在最后一个“/”之前打印所有内容,但我需要在最后一个“/”之后打印所有内容。

最佳答案

调用strrchr后,pos将指向/的最后一次出现。如果将其前进一个,它将指向文件名的开头:

char *pos = strrchr(path, '/');
if (pos != NULL)
{
++pos;
printf("%s", pos); /* Note - printing pos, not path! */
}

关于c++ - 如何仅打印完整路径名的文件部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63661824/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com