c 獲取路徑

2021-08-20 16:17:34 字數 1613 閱讀 6661

5.分離字串路徑的方法

處理檔案的程式可能要分析檔名。這種演算法要進行字串處理。檔案可以

由路徑名指定,路徑名包括由分隔符"/"分割的名稱集。最後乙個"/"前的名稱序列

稱為路徑。最後乙個名稱是檔名,還可能包括副檔名。

路徑名 /class/programs/testfile.cpp

路徑 /class/programs/

檔名 testfile.cpp

副檔名 cpp

為了分析檔名,我們從鍵盤讀入完整的路徑名,並輸出路徑和檔名。

如果檔名具有副檔名"cpp",則在建立可執行檔名時,將用"exe"替代副檔名"cpp".

下面是程式結構的輪廓,以及如何使用字串函式的說明:

1.輸入檔名,使用函式find_last_of()在字串中搜尋最後乙個出現的"/"。這個字元

確定了路徑的結尾和檔名的開始。

2。路徑是由最後乙個"/"前所有字串組成的子串。檔名是最後乙個"/"後的

所有字元。使用最後乙個"/"的位置和substr()提取出路徑和檔名。

3.副檔名是檔名中最好乙個"."後的字串。呼叫find_last_of()搜尋最後乙個匹配,

則複製檔名,刪除當前副檔名,並新增新的副檔名"exe"。 輸出產生的可執行檔名。

// 檔案prg1_3.cpp

// 此程式提示使用者輸入檔案的路徑

// 它使用string類操作來識別並輸出

// 路徑名和檔名。如果檔名有

// 副檔名"cpp",則建立並輸出

// 可執行檔案的名稱,其擴充套件名為"exe",替換

// 副檔名"cpp"

// wj.cpp : 定義控制台應用程式的入口點。

//#i nclude "stdafx.h"

#i nclude#i ncludeusing namespace std;

int main()

return 0;

}

輸出結果:

第1次允許結果:

enter the path name: /class/programs/testfile

path: /class/programs

filename: testfile

第2次允許結果:

enter the path name: programs/strings/filedemp.cpp

path: programs/strings

filename: filedemo.cpp

executable: filedemo.exe

第3次允許結果:

enter the path name: /program.cpp

path:

filename: program.cpp

executable: program.exe

char szfilename [max_path];

::getmodulefilename(g_hinstdll, szfilename, max_path);

C 獲取路徑

一 應用程式 獲取當前程序的完整路徑,包含檔名 程序名 string str this.gettype assembly.location result x exe exe檔案所在的目錄 exe檔名 獲取新的 process 元件並將其與當前活動的程序關聯的主模組的完整路徑,包含檔名 程序名 str...

C 獲取路徑

獲取到bin目錄的下層路徑 bin debug 獲取到bin目錄 bin debug string dd system.environment.currentdirectory string ee system.io.directory.getcurrentdirectory 獲取程式.exe wi...

c 獲取檔案路徑

一 獲取當前檔案的路徑 1.system.diagnostics.process.getcurrentprocess mainmodule.filename 獲取模組的完整路徑,包括檔名。2.system.environment.currentdirectory 獲取和設定當前目錄 該程序從中啟動的...