删除C中字符串的特定部分

删除C中字符串的特定部分,c,arrays,string,C,Arrays,String,在C语言中,如何删除字符串的一部分?我特别感兴趣的是一个内置函数,或者一个高效的代码。 我有一行代码: char namefile[256] = "/Users/student/Desktop/Silviu/g7.08e11.01024" 我只想保留“g7.08e11.01024”,这样我就可以在其他地方使用它了。使用strrchr: const char* shortName = strrchr(namefile, '/') + 1; strrchr返回字符串中上次出现的/的地址。使用st

在C语言中,如何删除字符串的一部分?我特别感兴趣的是一个内置函数,或者一个高效的代码。 我有一行代码:

char namefile[256] = "/Users/student/Desktop/Silviu/g7.08e11.01024"

我只想保留“g7.08e11.01024”,这样我就可以在其他地方使用它了。

使用
strrchr

const char* shortName = strrchr(namefile, '/') + 1;

strrchr
返回字符串中上次出现的
/
的地址。

使用
strrchr

const char* shortName = strrchr(namefile, '/') + 1;

strrchr
返回字符串中最后一次出现的
/
的地址。

您可以通过以下方法执行此操作

char namefile[256] = "/Users/student/Desktop/Silviu/g7.08e11.01024";
char *p = strrchr( namefile, '/' );
if ( p )
{
    for ( char *q = namefile; *q++ = *++p; );
}

你可以用下面的方法来做

char namefile[256] = "/Users/student/Desktop/Silviu/g7.08e11.01024";
char *p = strrchr( namefile, '/' );
if ( p )
{
    for ( char *q = namefile; *q++ = *++p; );
}

可能重复的请详细说明拼接条件。你可以使用<代码> STRSTR 或 StrugR获取字符的地址并使用它。如果你问C问题,不要把它标记为C++。你可以使用<代码> STRSTR 或<代码> StrugR获取字符的地址并使用它。如果你问C问题,不要把它标记为C++。谢谢,这就是解决方案!谢谢,这就是解决方案!