//Example 1
char * p = "/dir1/dir2/dir3/dir4";
// Need to convert to....
char * p = "dir4";
//Example 2
char * p = "/dir1/dir2/dir3/dir4/dir5";
// Need to convert to....
char * p = "dir5";
我有一个可以改变的字符指针p。如何将每个字符串的结尾保存到单独的char指针。
我是否会循环播放字符串并计算所有' /',然后保存最后一个的位置?用它来启动新字符串?
答案 0 :(得分:1)
使用strrchr
,它会扫描字符串从结尾开始直到它找到某个字符:
int main() {
char * p = "/dir1/dir2/dir3/dir4/dir5";
char *lastDir = strrchr(p,'/');
if (lastDir)
p = lastDir + 1;
printf("p: %s\n", p);
}