我需要檢查一個字符串中存儲的路徑是否實際上是一個文件的路徑,該文件的名稱已存儲在另一個字符串中。比較文件名與可選文件擴展名
例如:假設我有一個文件中的/ etc/PROG/MYPROG
我有這樣的功能:
char *slash = strrchr(procname, '/');
if(slash && !strcmp(slash, name)){
printf("FOUND!\n");
}
,尋找「MYPROG」,當它工作正常,但如果文件具有擴展名(例如,如果字符串以「/vim.basic」結尾),那麼它顯然不起作用。我希望if語句在查找「vim」時爲true)。
我想我必須使用strrchr來查找點的位置,如果存在,停止比較該char,但我不知道如何構造條件語句以這種方式工作。
我知道,我可以使用的strstr,但我想子被明確betwee發現n斜槓'/'和(如果存在)'點'。' – Nidrax
您是否有更多的投入,比較和預期產出的例子? –
你可以試試strcmp –