❶ 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#怎麼獲取一個文件的相對路徑
獲取當前文件的相對路徑:
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\,有時不一定返回什麼東東,這是任何應用程序最後一次操作過的目錄,比如你用Word打開了E:\doc\my.doc這個文件,此時執行這個方法就返回了E:\doc了。
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 打開文件路徑是哪
默認使用當前目錄,如果當前目錄沒有就會按照系統環境設置去查找。
在命令提示符下輸入path回車就能看見,在我的電腦,屬性中也能找到。
❹ 怎麼用標准C/C++打開windows explorer,選擇文件,獲取文件或文件夾路徑
char szDir[100] ={0};
char szPath[255] = {0};
BROWSEINFO bi ;
bi.hwndOwner = m_hWnd ;
bi.pidlRoot = NULL ;
bi.lParam = NULL ;
bi.lpfn = NULL;
bi.lpszTitle = "選擇";
bi.iImage = NULL ;
bi.ulFlags = BIF_BROWSEINCLUDEFILES ;
bi.pszDisplayName = szDir ; //存放的文件名字專
ITEMIDLIST *pidl = ::SHBrowseForFolder(&bi);
SHGetPathFromIDList(pidl,szPath); // szPath返回的是完全屬路徑
❺ 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語言實現「獲取可執行文件的絕對路徑」
main參數啊!
intmain(intargc,char*argv[])
{
printf(argv[0]);
return0;
}
這樣得到一個字元串,從中提取出路徑不是難事