使用指定字符在C中剪切字符串

时间:2013-05-30 17:36:10

标签: c

例如,我有一个字符串“/home/george/file.c”,我想将字符串剪切为“file.c”,所以只需在最后一个'/之前删除所有字符串'性格。

5 个答案:

答案 0 :(得分:5)

有一个名为basename的函数可以做到这一点。请参阅man 3 basename了解如何使用它。

答案 1 :(得分:1)

此处,可以使用strrchr标题中的<string.h>。请看its documentation

#include <string.h>

char *end = strrchr(string, '/') + 1;
char result[SIZE];

if (end != NULL)
    strcpy(result, end);

答案 2 :(得分:0)

如果你正在使用字符串库,你可以获得字符串的长度,然后开始向后走,直到你点击你的第一个'/'字符。然后,获取该索引并使用子字符串。

答案 3 :(得分:0)

char *filename = strrchr(path, '/'); // this points `filename` at the final '/'
if (filename)                        // if that succeeded
   ++filename;                       //     we want the next character
else                                 // otherwise
     filename = path;                //     what's in path is all the file name.

答案 4 :(得分:0)

您可以使用标头文件basename()中定义的<libgen.h> basename()的原型是char *basename(const char *fname);。它返回指向基本名称开始的原始文件名的指针。

在您的情况下,代码应如下所示,

char ch="/home/george/file.c"
char *ptr;
ptr=basename(ch);
printf("The file name is %s",ptr);