導航:首頁 > 編程語言 > c語言查找程序所在目錄

c語言查找程序所在目錄

發布時間:2025-10-07 04:13:03

A. 怎樣使用C語言列出某個目錄下的文件

C語言本身沒有提供象dir_list()這樣的函數來列出某個目錄下所有的文件。不過,利用C語言的幾個目錄函數,你可以自己編寫一個dir_list()函數。 首先,頭文件dos.h定義了一個find_t結構,它可以描述DOS下的文件信息,包括文件名、時間、日期、大小和屬性。其次,C編譯程序庫中有_dos_findfirst()和_dos_findnext()這樣兩個函數,利用它們可以找到某個目錄下符合查找要求的第一個或下一個文件。 dos_findfirst()函數有三個參數,第一個參數指明要查找的文件名,例如你可以用「*.*」指明要查找某個目錄下的所有文件。第二個參數指明要查找的文件屬性,例如你可以指明只查找隱含文件或子目錄。第三個參數是指向一個find_t變數的指針,查找到的文件的有關信息將存放到該變數中。 dos_findnext()函數在相應的目錄中繼續查找由_dos_findfirst()函數的第一個參數指明的文件。_dos_findnext()函數只有一個參數,它同樣是指向一個find_t變數的指針,查找到剛文件的有關信息同樣將存放到該變數中。 利用上述兩個函數和find_t結構,你就可以遍歷磁碟上的某個目錄,並列出該目錄下所有的文件,請看下例: #include <stdio.h> #include <direct.h> #include <dos.h> #include <malloc.h> #include <memory.h> #include <string.h> typedef struct find_t FILE_BLOCK void main(void); void main(void){FILE_BLOCK f-block; /* Define the find_t structure variable * / int ret_code; / * Define a variable to store the return codes * / / * Use the "*.*" file mask and the 0xFF attribute mask to list all files in the directory, including system files, hidden files, and subdirectory names. * / ret_code = _dos_findfirst(" *. * ", 0xFF, &f_block); /* The _dos_findfirst() function returns a 0 when it is successful and has found a valid filename in the directory. * / while (ret_code == 0){/* Print the file's name * / printf(" %-12s\n, f_block, name); / * Use the -dos_findnext() function to look

B. WINDOWS操作系統下的C語言頭文件存放在哪個目錄中

在Windows操作系統中,C語言的頭文件存儲位置取決於它們的類型和用戶的配置,具體如下

總結:Windows下的C語言頭文件位置並非固定,標准庫頭文件的位置取決於編譯器,而用戶自定義頭文件的位置則取決於開發者的選擇和項目需求。

C. 怎樣判斷正在運行的C語言程序所在的目錄

DOS程序的裝入程序會提供正在運行的可執行文件的路徑全名。這個路徑全名是通過指針argv[0]提供的,mai『n()函數的argv變數指向該指針。只需去掉路徑全名中的文件名,你就得到了正在運行的程序所在的目錄。下面的例子演示了這種技巧:
# include <stdio. h>
# include <stdlib. h>
# include <string. h>
void main(int argc, char ** argv)
{
char execDir [80];
int i,t;
/ * set index into argv[0] to slash character prior to appname * /
for(i= (strlen(argv[0])-1) ;
((argv[O][i] ! ='/' ) && (argv[O][i]! =' \\' ));--i) ;
/ * temporarily truncate argv[] * /
t =argv[O][i] ;
argv[O][i]= O ;
/ * directory path into local buffer * /
strcpy(execDir ,argv[O]) ;
/* put back original character for sanity's sake * /
argvEO]Ei]=t;
}

D. 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);
}

E. C語言如何遍歷目錄 (C++也可以) findfirst findnext怎麼用

#include <windows.h>
#include <stdio.h>
FILE *fp;
void findFile(char filePath[])//這個是你要的函數
{
char szFind[MAX_PATH];//這是要找的
WIN32_FIND_DATA FindFileData;
HANDLE hFind;
char szFile[MAX_PATH];

strcpy(szFind,filePath);
strcat(szFind,"\\*.*");//利用通配符找這個目錄下的所以文件,包括目錄

hFind=FindFirstFile(szFind,&FindFileData);
if(INVALID_HANDLE_VALUE == hFind) return;

while(TRUE)
{

if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)//這是目錄
{
if(FindFileData.cFileName[0]!='.')//.表示當前目錄,因為每個目錄下面都有兩個默認目錄就是..和.分別表示上一級目錄和當前目錄
{
strcpy(szFile,filePath);
strcat(szFile,"\\");
strcat(szFile,FindFileData.cFileName);
findFile(szFile);//尋找這個目錄下面的文件
}
}
else
{
fprintf(stdout,"%s\\%s\n",filePath,FindFileData.cFileName);//列印出目錄下的文件的路徑和名稱
fprintf(fp,"%s\\%s\n",filePath,FindFileData.cFileName);//這將結果存檔到c:\\path.txt中。
}
if(!FindNextFile(hFind,&FindFileData))//尋找下一個文件
break;
}
FindClose(hFind);//關閉句柄
}

int main()
{
fp = fopen("C:\\path.txt","w");
findFile("D:\\e-book\\實習\\隨筆\\讀書ing");//這里是你要遍歷的目錄,你自己可以改變,它會顯示這個目錄下的所有文件,包括這個目錄下子目錄下的文件。
fclose(fp);
return 0;
}
程序如上,是把結果輸出到標准輸出上,並且存檔到C:\\path.txt中。
可以運行的,我已經測試過。
工具是vc6.0.

閱讀全文

與c語言查找程序所在目錄相關的資料

熱點內容
學編程用什麼電腦軟體最好 瀏覽:344
蘋果系統百度網盤下載的文件在哪 瀏覽:699
javaunicodehex 瀏覽:495
大數據和計算機哪個難度大 瀏覽:920
劍靈下載器下載的文件在哪 瀏覽:188
c語言查找程序所在目錄 瀏覽:817
在我的南京app上如何掛號 瀏覽:825
成都少兒編程哪個教育平台比較好 瀏覽:868
qq裡面網路文件在哪 瀏覽:662
excel表格中公式太多文件太大 瀏覽:959
大盤數據哪裡下載 瀏覽:546
編程大神是怎麼掙錢的 瀏覽:410
微信頭像民國 瀏覽:281
json文件怎麼導入資料庫中 瀏覽:599
word自定義xml 瀏覽:87
sql附加資料庫是什麼意思 瀏覽:715
編程貓流行編程什麼 瀏覽:742
java獲取今天日期 瀏覽:729
軟體mac地址在哪個文件 瀏覽:849
澄清文件如何增加業績 瀏覽:875

友情鏈接