導航:首頁 > 文件目錄 > c獲取文件夾路徑

c獲取文件夾路徑

發布時間:2022-09-16 19:40:44

⑴ C# 獲取系統文件夾路徑

樓主 這里有篇別人寫的文章 看下對你有用沒。
系統特殊文件夾是包含公共信息的文件夾,如「Program Files」、「Programs」、「System」或「Startup」。特殊文件夾在默認情況下由系統設置,或者由用戶在安裝 Windows 的某個版本時顯式進行設置。

Environment.GetFolderPath 方法
獲取指向由指定枚舉標識的系統特殊文件夾的路徑。

命名空間:System
public static string GetFolderPath ( SpecialFolder folder )

參數
folder 標識系統特殊文件夾的枚舉常數。如下:

ApplicationData 目錄,它用作當前漫遊用戶的應用程序特定數據的公共儲存庫。
漫遊用戶在網路上的多台計算機上工作。漫遊用戶的配置文件保存在網路伺服器上,當用戶登錄到某個系統上時,它會載入到該系統。

CommonApplicationData 目錄,它用作所有用戶使用的應用程序特定數據的公共儲存庫。
CommonProgramFiles 用於應用程序間共享的組件的目錄。
Cookies 用作 Internet Cookie 的公共儲存庫的目錄。
Desktop 邏輯桌面,而不是物理文件系統位置。
DesktopDirectory 用於物理上存儲桌面上的文件對象的目錄。
不應將此目錄與桌面文件夾本身混淆,後者是虛擬文件夾。

Favorites 用作用戶收藏夾項的公共儲存庫的目錄。
History 用作 Internet 歷史記錄項的公共儲存庫的目錄。
InternetCache 用作 Internet 臨時文件的公共儲存庫的目錄。
LocalApplicationData 目錄,它用作當前非漫遊用戶使用的應用程序特定數據的公共儲存庫。
MyComputer 「我的電腦」文件夾。
MyMusic 「My Music」文件夾。
MyPictures 「My Pictures」文件夾。
Personal 用作文檔的公共儲存庫的目錄。
ProgramFiles 「Program files」目錄。
Programs 包含用戶程序組的目錄。
Recent 包含用戶最近使用過的文檔的目錄。
SendTo 包含「發送」菜單項的目錄。
StartMenu 包含「開始」菜單項的目錄。
Startup 對應於用戶的「啟動」程序組的目錄。
每當用戶登錄、啟動 Windows NT 或更高版本或啟動 Windows 98 時,系統均會啟動這些程序。

System 「System」目錄。
Templates 用作文檔模板的公共儲存庫的目錄。

返回值
如果指定系統的特殊文件夾實際存在於您的計算機上,則為到該文件夾的路徑;否則為空字元串 ("")。 如果系統未創建文件夾、已刪除現有文件夾,或者文件夾是不對應物理路徑的虛擬目錄(例如「我的電腦」),則該文件夾不會實際存在。

例子:

String Path=Environment.GetFolderPath(Environment.SpecialFolder.Favorites);//返回收藏夾位置

⑵ c語言如何獲取用戶通過鍵盤輸入的文件目錄中的文件名和文件路徑,ballball大佬幫幫我🙏求代碼

int main()
{
string s = "c:\\abc\\def\\text.txt";
int xie_index = s.find_last_of('\\'); 制// 路徑中最後一個\的位置
string file_dirname = s.substr(0, xie_index + 1);
string file_basename = s.substr(xie_index + 1, s.size());
cout << file_dirname << endl << file_basename << endl;
}

⑶ C#獲取創建的文件夾路徑

Console.WriteLine("輸入文件夾名
:");
string
dir
=
"C:\\oet\\"
+
Console.ReadLine();
Directory
.
CreateDirectory
(dir);
//dir就是你要的路徑.

⑷ c語言如何獲得文件當前路徑

http://hi..com/andywangcn/item/7633efda5517baf9ca0c39c6
獲得雙斜杠路徑不包含文件名
TCHAR _szPath[MAX_PATH + 1]={0};
GetMoleFileName(NULL, _szPath, MAX_PATH);
(_tcsrchr(_szPath, _T('\\')))[1] = 0;//刪除文件名,只獲得路徑 字串
CString strPath;
for (int n=0;_szPath[n];n++)
{
if (_szPath[n]!=_T('\\'))
{
strPath +=_szPath[n] ;
}
else
{
strPath += _T("\\\\");
}
}
MessageBox(strPath);//輸出==e:\\program\\Debug\\
//頭文件用到 windows.h

⑸ C#如何實現獲得一個文件夾的路徑

總結C#獲取當前路徑的7種方法
C#獲取當前路徑的方法如下:
1. System.Diagnostics.Process.GetCurrentProcess().MainMole.FileName
-獲取模塊的完整路徑。
2. System.Environment.CurrentDirectory
-獲取和設置當前目錄(該進程從中啟動的目錄)的完全限定目錄。
3. System.IO.Directory.GetCurrentDirectory()
-獲取應用程序的當前工作目錄。這個不一定是程序從中啟動的目錄啊,有可能程序放在C:\www里,這個函數有可能返回C:\Documents and Settings\ZYB\,或者C:\Program Files\Adobe\,有時不一定返回什麼東東,我也搞不懂了。
4. System.AppDomain.CurrentDomain.BaseDirectory
-獲取程序的基目錄。
5. System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase
-獲取和設置包括該應用程序的目錄的名稱。
6. System.Windows.Forms.Application.StartupPath
-獲取啟動了應用程序的可執行文件的路徑。效果和2、5一樣。只是5返回的字元串後面多了一個"\"而已
7. System.Windows.Forms.Application.ExecutablePath
-獲取啟動了應用程序的可執行文件的路徑及文件名,效果和1一樣。

⑹ c#中怎麼獲得當前路徑

網站中可以在類文件中用絕對方式訪問Server對象、Session、Response、Request等對象:

System.Web.HttpContext.Current.Server.MapPath()
System.Web.HttpContext.Current.Session
System.Web.HttpContext.Current.Response
System.Web.HttpContext.Current.Request
補充:
1、判定一個給定的路徑是否有效,合法
通過Path.GetInvalidPathChars或Path.GetInvalidFileNameChars方法獲得非法的路徑/文件名字元,可以根據它來判斷路徑中是否包含非法字元;

2、如何確定一個路徑字元串是表示目錄還是文件
使用Directory.Exists或File.Exist方法,如果前者為真,則路徑表示目錄;如果後者為真,則路徑表示文件
上面的方法有個缺點就是不能處理那些不存在的文件或目錄。這時可以考慮使用Path.GetFileName方法獲得其包含的文件名,如果一個路徑不為空,而文件名為空那麼它表示目錄,否則表示文件;
3、獲得路徑的某個特定部分
Path.GetDirectoryName :返回指定路徑字元串的目錄信息。
Path.GetExtension :返回指定的路徑字元串的擴展名。
Path.GetFileName :返回指定路徑字元串的文件名和擴展名。
Path.GetFileNameWithoutExtension :返回不具有擴展名的路徑字元串的文件名。
Path.GetPathRoot :獲取指定路徑的根目錄信息。
4、准確地合並兩個路徑而不用去擔心那個煩人的「\」字元
使用Path.Combine方法,它會幫你處理煩人的「\」。
5、獲得系統目錄的路徑
Environment.SystemDirectory屬性:獲取系統目錄的完全限定路徑
Environment.GetFolderPath方法:該方法接受的參數類型為Environment.SpecialFolder枚舉,通過這個方法可以獲得大量系統 文件夾的路徑,如我的電腦,桌面,系統目錄等
Path.GetTempPath方法:返回當前系統的臨時文件夾的路徑
6、判斷一個路徑是絕對路徑還是相對路徑
使用Path.IsPathRooted方法
7、讀取或設置當前目錄
使用Directory類的GetCurrentDirectory和SetCurrentDirectory方法
8、使用相對路徑
設置當前目錄後(見上個問題),就可以使用相對路徑了。對於一個相對路徑,我們可以使用Path.GetFullPath方法獲得它的完 全限定路徑(絕對路徑)。
注意:如果打算使用相對路徑,建議你將工作目錄設置為各個交互文件的共同起點,否則可能會引入一些不易發現的安全隱患,被惡意用戶利用來訪問系統文件。

9、文件夾瀏覽對話框(FolderBrowserDialog類)
主要屬性: Description:樹視圖控制項上顯示的說明文本,如上圖中的「選擇目錄--練習」;RootFolder:獲取或設置從其開始瀏覽的根文件夾,如上圖中設置的我的電腦(默認為桌面);SelectedPath:獲取或設置用戶選定的路徑,如果設置了該屬性,打開對話框時會定位到指定路徑,默認為根文件夾,關閉對話框時根據該屬性獲取用戶用戶選定的路徑; ShowNewFolderButton:獲取或設置是否顯示新建對話框按鈕;
主要方法: ShowDialog:打開該對話框,返回值為DialogResult類型值,如果為DialogResult.OK,則可以由SelectedPath屬性獲取用戶選定的路徑;
=====================================================================

1. System.Diagnostics.Process.GetCurrentProcess().MainMole.FileName-獲取模塊的完整路徑。

2.System.Environment.CurrentDirectory-獲取和設置當前目錄(該進程從中啟動的目錄)的完全限定目錄。

3.System.IO.Directory.GetCurrentDirectory()-獲取應用程序的當前工作目錄。這個不一定是程序從中啟動的目錄,有可能程序放在C:\xxx里,這個函數有可能返回C:\Documents and Settings\ZYB\,或者C:\Program Files\Adobe\,有時不一定返回什麼。

4.System.AppDomain.CurrentDomain.BaseDirectory-獲取程序的基目錄。

5.System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase-獲取和設置包括該應用程序的目錄的名稱。

6. System.Windows.Forms.Application.StartupPath-獲取啟動了應用程序的可執行文件的路徑。效果和2、5一樣。只是5返回的字元串後面多了一個"\"而已

7.System.Windows.Forms.Application.ExecutablePath-獲取啟動了應用程序的可執行文件的路徑及文件名,效果和1一樣。對於Windows程序 和Web 應用程序來說,他們運行的路徑是不一樣的,所以關鍵是判斷當前運行的程序是哪種程序.於是我們可以使用如下的代碼

string path = "";

if (System.Environment.CurrentDirectory ==AppDomain.CurrentDomain.BaseDirectory)//Windows應用程序則相等

...{path = AppDomain.CurrentDomain.BaseDirectory;

}else...{path = AppDomain.CurrentDomain.BaseDirectory + "Bin\";

}這樣如果我們寫了一個類庫,類庫中用到了Assembly.LoadFrom,由於是通用類庫,所以可能用到Windows程序中也可能用到Web中,那麼用上面的代碼就很方便了.

1、Server.MapPath

2、System.Windows.Forms.StartupPath

3、Type.Assembly.Location方法2可以應用於控制台應用程序,WinForm應用程序,Windows服務,方法1可以應用於Web應用程序,方法3都可以應用。但方法3是載入應用程序的路徑。如果是Web應用程序,取得的路徑是:C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files目錄。所以Web項目還是使用Server.MapPath吧。否則建議使用方法2。如果自己新建類庫。可以加入對System.Windows.Forms.StartupPath的引用後使用。

⑺ 使用vc,如何獲取win7的用戶文件夾路徑 C:\Users\Public和C:\Users\用戶名

你好,你可以用以下方法來獲得該路徑。

在Windows里,用戶的特殊路徑都存放在注冊表裡。

位置在:HEY_CURRENT_下面

獲取的方法:

HKEYmyKey;

if(ERROR_SUCCESS!=RegOpenKey(HKEY_CURRENT_USER,"Software\Microsoft\Windows\CurrentVersion\Explorer\ShellFolders",&myKey))

{

cout<<"注冊表打開失敗!"<<endl;

return1;

}

DWORDdwType;

DWORDdwSize=200;

charstring[200];

if(ERROR_SUCCESS!=RegQueryValueEx(myKey,(LPSTR)"Desktop",NULL,&dwType,(BYTE*)string,&dwSize))

{

cout<<"讀取desktop數據失敗!"<<endl;

return1;

}

RegCloseKey(myKey);

但是該子項下面的路徑都是你要的那個路徑的子路徑(如:C:UsersPublicDesktop)。

你可以通過使用下面幾個函數的組合來獲得父路徑(C:UsersPublic):

TCHARszPath[_MAX_PATH];

將子路徑strcpy入szPath;

TCHARszDrive[_MAX_DRIVE];

TCHARszDir[_MAX_DIR];

TCHARszFName[_MAX_FNAME];

TCHARszExt[_MAX_EXT];

_tsplitpath(szPath,szDrive,szDir,szFName,szExt);

_tmakepath(szPath,szDrive,szDir,_T(""),_T(""));

希望我的回答能夠對你有所幫助!

⑻ c語言如何獲得文件當前路徑

C語言里
在main函數來的第二個參數裡面,自
保存著當前程序運行的目錄
也就是argv[0]
main( int argc, char *argv[])
{
printf("%s ", argv[0] );
}
就是文件當前所在位置
不過需要注意的一點是
這個路徑裡面保存了當前文件的文件名
如果你只是需要路徑的話還需要自己操作一下

main(int a,char *c[])
{
char s[100];
int i;
//把路徑保存到字元串s里
strcpy(s,c[0]);
for(i=strlen(s); i>0 ; i--)
if( s[i] == '\\')
{
s[i]='\0';
break;
}
//找到最後一個 \ 並刪除之後的內容
//最後輸出的s,就是當前文件的路徑了
puts(s);
}

⑼ C語言問題 已知某一路徑,如何得到該路徑下的某一文件夾的路徑

#include <stdio.h>
#include <errno.h>
#include <unistd.h>
#include <string.h>
#include <io.h>

#define MAX_FILE_PATH_LEN 128
#define INVALID_HANDLE -1

int main()
{
char aucFilePath[MAX_FILE_PATH_LEN + 1] = {0};
char aucTempPath[MAX_FILE_PATH_LEN + 1] = {0};
char *pFilePath = NULL;
int iDirNum = 0;
int iFileNum = 0;

_finddata_t finddata = {0};
long findhandle = INVALID_HANDLE;

//獲取當前目錄,也可以做入參傳入aucFilePath
pFilePath = getcwd(aucFilePath, MAX_FILE_PATH_LEN);
if (NULL == pFilePath)
{
printf("get current working directory fail, \n"
"errno = %d, errro description : %s\n", errno, strerror(errno));
getchar();
return -1;
}

printf("current working directory = %s\n", aucFilePath);
strncpy(aucTempPath, aucFilePath, strlen(aucFilePath));
strncat(aucTempPath, "\\*", MAX_FILE_PATH_LEN);

findhandle = _findfirst(aucTempPath, &finddata);
if(findhandle != INVALID_HANDLE)
{
do {
if(finddata.attrib & _A_SUBDIR)
{
if ((0 != strcmp(finddata.name, ".")) && (0 != strcmp(finddata.name, "..")))
{
//子目錄個數
iDirNum++;
printf("sub directory name = %s, path = %s\\%s, iDirNum = %d\n",
finddata.name, aucFilePath, finddata.name, iDirNum);
}
}
else
{
//子文件個數
iFileNum++;
printf("file = %s, iFileNum = %d\n", finddata.name, iFileNum);
}
}while(0 == _findnext(findhandle, &finddata));
_findclose(findhandle);
}

getchar();
return 0;
}

⑽ c語言中如何得到當前文件所在位置

如果是通過open方式打開的,那麼第一個參數就是文件路徑信息:
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int open(const char *path, int oflag, /* mode_t mode */...);

如果是通過fopen方式打開的,那麼第一個參數就是文件路徑信息:
#include <stdio.h>
FILE *fopen(const char *filename, const char *mode);

無論通過open還是fopen打開文件,都必須先知道文件路徑信息,盡管可能是相對路徑。
如果知道了filename的內容,我們就可以定位它的絕對路徑,也就是你說的完全路徑。

1. filename本身就是絕對路徑,ok。
2. filename是相對路徑,那麼先通過getcwd獲取進程的執行路徑,然後再獲取絕對路徑即可。
#include <unistd.h>
extern char *getcwd(char *buf, size_t size);

但是,如果進程在打開文件後又執行了chdir、fchdir之類函數的話,估計就不能夠再獲取文件路徑信息了。
#include <unistd.h>
int chdir(const char *path);
int fchdir(int fildes);

閱讀全文

與c獲取文件夾路徑相關的資料

熱點內容
接觸到哪些信息是由資料庫管理 瀏覽:25
港版s7edge和亞太版本 瀏覽:284
無限循環數控編程序怎麼編程 瀏覽:979
iphone6splus16g 瀏覽:225
oppo如何開4g網路 瀏覽:267
java不安全 瀏覽:423
導入配置文件數據失敗 瀏覽:941
linux運行class 瀏覽:227
如何做好群管理員文件 瀏覽:979
linuxvim循環搜索文件 瀏覽:147
為什麼講女孩子更應該學習編程 瀏覽:742
雲數據備份不了了是怎麼回事 瀏覽:110
數據說話的股票有哪些股 瀏覽:612
一加照片保存在哪個文件夾 瀏覽:710
聯通省公司大數據 瀏覽:300
三星wifi管理員密碼 瀏覽:213
怎樣查看優盤正在被哪個文件使用 瀏覽:9
微信里傳的文件為什麼會過期 瀏覽:248
遇到不正規的網路平台怎麼辦 瀏覽:979
win10能裝天正嗎 瀏覽:105

友情鏈接