㈠ c語言讀取文件的路徑怎麼設定
//獲取指定目錄下的所有文件列表 author:wangchangshaui jlu
char** getFileNameArray(const char *path, int* fileCount)
{
int count = 0;
char **fileNameList = NULL;
struct dirent* ent = NULL;
DIR *pDir;
char dir[512];
struct stat statbuf;
//打開目錄
if ((pDir = opendir(path)) == NULL)
{
myLog("Cannot open directory:%s\n", path);
return NULL;
}
//讀取目錄
while ((ent = readdir(pDir)) != NULL)
{ //統計當前文件夾下有多少文件(不包括文件夾)
//得到讀取文件的絕對路徑名
snprintf(dir, 512, "%s/%s", path, ent->d_name);
//得到文件信息
lstat(dir, &statbuf);
//判斷是目錄還是文件
if (!S_ISDIR(statbuf.st_mode))
{
count++;
}
} //while
//關閉目錄
closedir(pDir);
// myLog("共%d個文件\n", count);
//開辟字元指針數組,用於下一步的開辟容納文件名字元串的空間
if ((fileNameList = (char**) myMalloc(sizeof(char*) * count)) == NULL)
{
myLog("Malloc heap failed!\n");
return NULL;
}
//打開目錄
if ((pDir = opendir(path)) == NULL)
{
myLog("Cannot open directory:%s\n", path);
return NULL;
}
//讀取目錄
int i;
for (i = 0; (ent = readdir(pDir)) != NULL && i < count;)
{
if (strlen(ent->d_name) <= 0)
{
continue;
}
//得到讀取文件的絕對路徑名
snprintf(dir, 512, "%s/%s", path, ent->d_name);
//得到文件信息
lstat(dir, &statbuf);
//判斷是目錄還是文件
if (!S_ISDIR(statbuf.st_mode))
{
if ((fileNameList[i] = (char*) myMalloc(strlen(ent->d_name) + 1))
== NULL)
{
myLog("Malloc heap failed!\n");
return NULL;
}
memset(fileNameList[i], 0, strlen(ent->d_name) + 1);
strcpy(fileNameList[i], ent->d_name);
myLog("第%d個文件:%s\n", i, ent->d_name);
i++;
}
} //for
//關閉目錄
closedir(pDir);
*fileCount = count;
return fileNameList
㈡ vc獲取本程序文件路徑,並打開本文件夾另一個EXE
#include<iostream>
#include<windows.h>//這個必須要有
#include<string>//字元串處理函數
usingnamespacestd;
intmain(){
charszFileName[256]="";//待會存完整路徑
stringstrAnotherExe="pipe.exe";//要執行的另外一個exe的名稱
//獲得程序的運行路徑,包含本程序名
GetMoleFileNameA(NULL,szFileName,256);
stringstrFileName=szFileName;//用string處理比較方便
//刪掉本程序名,只保留路徑
size_tslashIndex=strFileName.rfind('\');
strFileName.erase(slashIndex+1);
//拼接要啟動的程序的完整文件名
strFileName+=strAnotherExe;
cout<<"Anotherexepath:"<<strFileName<<endl;
//在當前程序中啟動外部程序,輸出會進入本程序
//system(strFileName.c_str());
//在新的窗口中打開外部程序
strFileName="start"+strFileName;
system(strFileName.c_str());
return0;
}
主要思路是GetMoleFileNameA獲得程序運行時的絕對路徑,包含程序名。
因此只要刪掉程序名,然後拼接上另外的一個程序名就可以了。
用system("程序名")可以啟動一個子進程,然後主進程卡在system處,等子進程結束,主進程才繼續往下走。
用system("start 程序名")可以在新窗口中打開進程,不等子進程結束,主進程就繼續往下走。
PS:如果編譯器提示沒有system函數,請包含stdlib.h頭文件。
㈢ C語言知道文件名如何獲取文件路徑
兩種方式:絕對路徑和相對路徑.
絕對路么要完整的路徑及文件名;
相對路徑與源程序在一個路徑下..
㈣ C語言中怎麼用絕對路徑
system("cmd /c 絕對路徑");
比如你要訪問c:dos c123.bat
就是system("cmd /c c:\dos\tc\123.bat");
㈤ 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;
}
這樣得到一個字元串,從中提取出路徑不是難事
㈦ vc中已知文件的絕對路徑怎麼獲得文件名和所在文件夾啊
你可以用getPathName等函數(至於這個函數的名稱有沒有記錯我就不敢保證了),你可以在MSDN中查,專方法如下:
1。打開屬MSDN
2。單擊「索引」
3。輸入CFile 這個類,
然後查看這個類的成員函數,
如果在CFile 中查不到相關的函數,那麼可以查找它的父類或者SDK
外:有很多函數其實是可以在MSDN中查到的,主要你大概知道這個函數功能或所屬類就行了。
㈧ 怎麼把文件保存到絕對路徑
1. 相對路徑
1。
什麼是絕對路徑 絕對路徑就是你的主頁上的文件或目錄在硬碟上真正的路徑,絕對路徑一般在CGI程序的路徑配置中經常用到,而在製作網頁中實際很少用到。大家不用管它。
2。什麼是相對路徑 顧名思義,相對路徑就是相對於當前文件的路徑。
網頁中一般表示路徑使用這個方法。 比如一個文件的路徑是 ,表示dark。
html文件是在mine目錄中的。那麼這個頁面中如果有個連接是指向網站首頁index。
html的,這個連接就應該這樣表示:。
/index。html。
/ 表示上一級目錄,第一個。
/表示回到feel目錄,再一個。 。
/就表示回到了 也就是根目錄。如果這個dark。
html文件中還有一個圖片yyy。,是在mine目錄中的images目錄下,那麼,可以看到,dark。
html文件與images目錄是同級的,也就是在同一個目錄mine下。那麼,這個圖片的連接地址就應該是:images/yyy。
。images前面沒有任何字元,表示就在同一個目錄下。
還有一個方法可以讓你不用考慮回到哪個目錄,那就是根目錄表示法。以「/」這個斜杠標記來表示根目錄,其他文件就以這個為參照。
比如,上例中連接index。html的連接就可以寫成:/index。
html。圖片連接就可以寫成:/feel/mine/images/yyy。
。 實際上,網站路徑結構就是你硬碟上某個目錄下的路徑結構。
象上面圖片的連接,就好比你在本地打開這個圖片時進入目錄的順序,先進入feel目錄,再進入mine和images目錄,然後就找到了yyy。 。
明白了這一點,相信你已經懂得了什麼是相對路徑。 。
2. 文件怎樣儲存才可做到絕對隱秘
這是我以前在網上找的方法,保證達到你的滿意,除了你別人打也打不開是刪也刪不掉呀,如果實在不明白就發郵箱給我,我把方法發給你
點 開始--運行--輸入"cmd"--點確定,你會打開dos窗口
新建 md d:\123..\
打開 start d:\123..\
刪除 rd d:\123..\
加密軟體不行,同事肯定要問你密碼的
在這些推薦一個好辦法,我也在用這個方法,比雖加密強多了,大多數人學會了就藏片片,而且點右鍵看屬性佔用為O,讓別人以為是沒用的東西,刪又刪不了,打又打不開(其它當然可以打開了,只是別人不懂吧如遇到懂這個技巧的就麻煩了)廢話不多說,看下面的
教你建一個別人打不開的文件夾
相信大家都遇到過自己的一些隱私文件不願意讓別人看到的情況吧,怎麼解決呢?隱藏起來?換個名字?或者加密?這些辦法都可以辦到,其實還有一種方法,就是建立一個別人既不能進入又不能刪除的文件夾,把自己的隱私文件放進去,別人就看不到啦,下面講講如何實現,很簡單的。
第一步:在運行中輸入cmd,回車,打開命令行窗口
第二步:在命令行窗口中切換到想要建立文件夾的硬碟分區,如D盤
第三步:輸入 MD 123..\回車,注意文件夾名後有2個小數點
OK,搞定,看看你的D盤下面是不是多了一個名為123.的文件夾了?它是既不能進入又不能被刪除的!不信你就試試看吧
你再注意這個文件大小,點文件右鍵,再點屬性,是大小為0.我裡面放了好多片片。。。。。兒童不宜 - -!
那麼,如果自己想刪除或者進入這個文件夾,又應該如何操作呢?同樣也很簡單。
如果想刪除,在命令行窗口中輸入 rd 123..\回車,即可刪除,當然刪除前請確認裡面的文件都是不需要的,不要刪錯了,呵呵。
如果想進入,在命令行窗口中輸入start d:\123..\(注意這里一定要是文件夾的絕對路徑,否則無法打開即可打開此文件夾),你就可以隨心所欲的把不想讓別人看到的資料放進去啦!
據說是藏*最隱蔽的地方。,看看,我放了那麼多片片。。。。
據說這個文件夾90%學會了都去放片片
據說90%都為這么好貼子來回貼
有朋友問有沒有更快的辦法進入加鎖的文件夾
當然有啦,那就是用批處理命令就可以搞定
1、新建一個文本文件
2、在文本內輸入上面的命令:start d:123.. ,然後保存退出
將剛才的TXT文本重命名為XXX.bat
以後要進入這個文件夾,只要雙擊XXX.bat這個文件就可以了,是不是方便多了
3. 如何把文件的絕對路徑改為相對路徑
相對路徑,就是相當你當前文件的位置
比如你當前這個文件位置在 f:\zx\下面,
你的其它A 、B、C 文件也在該下面,
那就是相對於當前文件來說,在相同目錄下,所以路徑可以不用填寫,直接填寫文件名就可以了<frame src=a name=aframe>
如果你的當前文件在F:\ZX 下面,那就要從當前目錄開始往下寫<frame src=zx\a name=aframe>
如果你引用的文件在當前文件之上,就要在路徑前加 ..\
如:<frame src=..\a name=aframe>
4. 請問緊急啊
具體步驟:一、菜單欄→插入→對象→windows media player→右鍵→屬性→自定義→選擇歌曲完整路徑 (xxx.xxx)你自己最好從網上先找到這首歌曲
控制項布局→選擇模式→invisible(如果想使視頻框隱藏)
退出設計模式
最後別忘了保存
二、將PPT轉換為flash
三、音樂文件不能「嵌入」,只能作為「對象」 *** 入,或者說不能「融合」
1.把音樂文件和PPT文件放在同一個文件夾下,到其他地方播放的時候一起拷貝到目標電腦中
2.文件→打包成CD→復制到文件夾,選擇要保存的位置,到其他地方播放的時候一起拷貝到目標電腦中 (或直接刻錄成CD)
3.發送電子郵件
5. 如何把絕對路徑變成相對路徑
7月4日 13:27 1.什麼是絕對路徑
絕對路徑就是你的主頁上的文件或目錄在硬碟上真正的路徑,絕對路徑一般在CGI程序的路徑配置中經常用到,而在製作網頁中實際很少用到。大家不用管它。
2.什麼是相對路徑
顧名思義,相對路徑就是相對於當前文件的路徑。網頁中一般表示路徑使用這個方法。
比如一個文件的路徑是,表示dark文件是在mine目錄中的。那麼這個頁面中如果有個連接是指向網站首頁index的,這個連接就應該這樣表示:../../index。 ../ 表示上一級目錄,第一個../表示回到feel目錄,再一個../就表示回到了文件中還有一個圖片yyy.,是在mine目錄中的images目錄下,那麼,可以看到,dark文件與images目錄是同級的,也就是在同一個目錄mine下。那麼,這個圖片的連接地址就應該是:images/yyy.。images前面沒有任何字元,表示就在同一個目錄下。
還有一個方法可以讓你不用考慮回到哪個目錄,那就是根目錄表示法。以「/」這個斜杠標記來表示根目錄,其他文件就以這個為參照。比如,上例中連接index的連接就可以寫成:/index。圖片連接就可以寫成:/feel/mine/images/yyy.。
實際上,網站路徑結構就是你硬碟上某個目錄下的路徑結構。象上面圖片的連接,就好比你在本地打開這個圖片時進入目錄的順序,先進入feel目錄,再進入mine和images目錄,然後就找到了yyy.。明白了這一點,相信你已經懂得了什麼是相對路徑。