Linux C: 從指定路徑中獲取文件名


Linux 或者 android 下可以通過  strrchr() 函數從指定路徑中獲取文件名,

這個函數的作用是:查找字符串中最后一個出現的指定字符,它還有一個對應函數  strchr , 可用於: 查找字符串第一個出現的指定字符。使用這兩個函數前,需要 #include <string.h>

例:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void *GetFileName1(char *filePath)
{
    // int len = strlen(filePath);

    char ch = '\\'; // 其中一個反斜杠是轉義字符
    char *q = strrchr(filePath, ch) + 1;    // 注意這里要+1, 否則輸出是:\Photoshop5.exe

    return q;
}


void *GetFileName2(char *filePath)
{
    char ch = '/';
    char *q = strrchr(filePath, ch) + 1;

    return q;
}


int main()
{

    char p1[] = "D:\\SoftWare\\Adobe\\Photoshop5.exe";
    printf("%s\n", GetFileName1(p1));

    printf("-----------------------------------\n");

    char p2[] = "/mnt/sdcard/media/HAHAWTF.mp3";
    printf("%s\n", GetFileName2(p2));

    getchar();

    return 0;
}

運行:

Photoshop5.exe
-----------------------------------
HAHAWTF.mp3

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM