導航:首頁 > 文件類型 > c獲取file的文件名

c獲取file的文件名

發布時間:2023-07-29 13:15:11

❶ 在c++中如何獲取文件

一、在不使用mfc的程序中獲得某個目錄下的所有文件名稱,包括子目錄。把文件名稱以一個固定的程度放入一個緩沖中,這個緩沖要足夠的大,能容下所有的文件名稱。
函數的輸入為要查找的根目錄,輸出為存放所有文件名稱的緩沖
演算法:使用遞歸
二、代碼
void
FindFileInDir(char*
rootDir,
char*
strRet)
{
char
fname[MAC_FILENAMELENOPATH];
ZeroMemory(fname,
MAC_FILENAMELENOPATH);
WIN32_FIND_DATA
fd;
ZeroMemory(&fd,
sizeof(WIN32_FIND_DATA));
HANDLE
hSearch;
char
filePathName[256];
char
tmpPath[256];
ZeroMemory(filePathName,
256);
ZeroMemory(tmpPath,
256);
strcpy(filePathName,
rootDir);
BOOL
bSearchFinished
=
FALSE;
if(
filePathName[strlen(filePathName)
-1]
!=
'\\'
)
{
strcat(filePathName,
"\\");
}
strcat(filePathName,
"*");
hSearch
=
FindFirstFile(filePathName,
&fd);
//Is
directory
if(
(fd.dwFileAttributes
&
FILE_ATTRIBUTE_DIRECTORY)
&&
strcmp(fd.cFileName,
".")
&&
strcmp(fd.cFileName,
"..")
)
{
strcpy(tmpPath,
rootDir);
strcat(tmpPath,
fd.cFileName);
FindFileInDir(tmpPath,
strRet);
}
else
if(
strcmp(fd.cFileName,
".")
&&
strcmp(fd.cFileName,
"..")
)
{
sprintf(fname,
"%-50.50s",
fd.cFileName);
strcat(strRet
+
strRet[strlen(strRet)]
,
fname);
}
while(
!bSearchFinished
)
{
if(
FindNextFile(hSearch,
&fd)
)
{
if(
(fd.dwFileAttributes
&
FILE_ATTRIBUTE_DIRECTORY)
&&
strcmp(fd.cFileName,
".")
&&
strcmp(fd.cFileName,
"..")
)
{
strcpy(tmpPath,
rootDir);
strcat(tmpPath,
fd.cFileName);
FindFileInDir(tmpPath,
strRet);
}
else
if(
strcmp(fd.cFileName,
".")
&&
strcmp(fd.cFileName,
"..")
)
{
sprintf(fname,
"%-50.50s",
fd.cFileName);
strcat(strRet
+
strRet[strlen(strRet)]
,
fname);
}
}
else
{
if(
GetLastError()
==
ERROR_NO_MORE_FILES
)
//Normal
Finished
{
bSearchFinished
=
TRUE;
}
else
bSearchFinished
=
TRUE;
//Terminate
Search
}
}
FindClose(hSearch);
}

❷ 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;
}

❸ MFC 的CFile對象可以獲取文件名,那何通過FILE *,ofstream, ifstream, 文件句柄獲取文件名呢

那沒有辦法,它們只支持文件輸入、輸出操作。

❹ 如何用c語言獲得一個目錄下所有文件的文件名

void enum_path(char *cpath){
WIN32_FIND_DATA wfd;
HANDLE hfd;
char cdir[MAX_PATH];
char subdir[MAX_PATH];
int r;
GetCurrentDirectory(MAX_PATH,cdir);
SetCurrentDirectory(cpath);
hfd = FindFirstFile("*.*",&wfd);
if(hfd!=INVALID_HANDLE_VALUE) {
do{
if(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
if(wfd.cFileName[0] != '.') {
// 合成完整路徑名
sprintf(subdir,"%s\\%s",cpath,wfd.cFileName);
// 遞歸枚舉子目錄
enum_path(subdir);
}
}else{
printf("%s\\%s\n",cpath,wfd.cFileName);
// 病毒可根據後綴名判斷是
// 否要感染相應的文件
}
}while(r=FindNextFile(hfd,&wfd),r!=0);
}
SetCurrentDirectory(cdir);
}

❺ C語言怎麼讀取某一文件夾下的所有文件夾和文件

讀取的代碼方式如下:

int main()

{

long file;

struct _finddata_t find;

_chdir("d:\");

if((file=_findfirst("*.*", &find))==-1L)

{

printf("空白! ");

exit(0);

}

printf("%s ", find.name);

while(_findnext(file, &find)==0)

{

printf("%s ", find.name);

}

_findclose(file);

return 0;

}

❻ c# 如何獲取某個文件所在文件夾的名稱

string filePath =@"C: \Users\Administrator\Desktop\1\2";
DirectoryInfo dirInfo = new DirectoryInfo(filePath);
string currentDir = dirInfo .Name; //獲取當前文件所在目錄名稱

❼ C++ MFC獲取文件名字(包括後綴名)以下做法是否正確

相信樓主會喜歡參考資料的,如果要獲取文件名等,請找函數GetFileExt、GetFileName、GetPathName等。你找到函數新開一個連接,然後自己看函數說明吧。
註:我提供的連接在參考資料。

❽ c如何獲得FILE*的路徑

關於通過 C 語言編程獲取到某個文件的完整路徑、以及文件名稱的問題,那是毫無疑問可內以做容到的。
但是具體的編程我由於已經好多年沒有編寫 C 語言程序了。故具體的程序調試過程需要你自己進行完成了。關於這部分的問題,我記得 C 語言庫函數大全上面肯定是有的,你可以參考有關 C 語言庫函數的教材。
但是注意一點就是:如果是在 WINDOWS 系統下面的編程,那麼路徑名必須使用雙斜線,即:\\ 才行。例如:若想表示打開驅動器 D 上的 MY_SUBDIR 子目錄下面的 MYFILE.TXT 文件,則在 C 語言源程序中要寫為如下代碼:
#include <stdio.h>
void main( )
{
FILE * fpr ;
fpr = fopen("D:\\MY_SUBDIR\\MYFILE.TXT", "r") ; /* 這樣寫才是正確的語句。*/
......
fclose(fpr) ;
}

❾ 如何獲取指定的文件夾內文件的全部名稱

可以使用命令行命令。

Win+R,輸入CMD,打開命令行提示符窗口,用CD命令定位到需要獲取文件夾內文件名稱的目錄下,如C:A,然後輸入以下代碼,就會生成文件清單到file01.TXT文件中。

DIR /B /S /A:-D >file01.txt

❿ C語言中,如何獲得文件名

WIN32_FIND_DATA find_data;

HANDLE search_handle;

search_handle = FindFirstFile( DirectoryPath,&find_data );

if (search_handle != INVALID_HANDLE_VALUE)

{

do

{

if (find_data.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY)

{

CString name = find_data.cFileName;

if( (name == ".")||(name == "..") )

continue;

}

}while(FindNextFile(search_handle,&find_data));

FindClose(search_handle);

閱讀全文

與c獲取file的文件名相關的資料

熱點內容
asp淘寶網站源碼 瀏覽:318
怎麼給文件夾換個顯示圖片 瀏覽:932
程序員考試河南 瀏覽:284
蘋果手機數據信號模塊壞了多少錢 瀏覽:657
dreamweaver文件夾 瀏覽:434
蘋果照片尺寸是多少 瀏覽:164
winhex中文版高級教程注冊碼 瀏覽:738
spring上傳多個文件 瀏覽:431
無限次輸入蘋果密碼 瀏覽:787
novamind教程 瀏覽:481
華為手機怎麼推送升級 瀏覽:286
蘋果app在桌面消失怎麼找回來 瀏覽:817
smi文件手機怎麼用 瀏覽:222
為什麼膜拜單車app閃退 瀏覽:994
十堰編程在哪裡學 瀏覽:383
論文所需的數據要從哪裡找 瀏覽:461
可以添加直播源的網路電視軟體 瀏覽:57
文件夾pdf文件 瀏覽:562
文件太大不能播放 瀏覽:959
小米微信信息不顯示內容 瀏覽:966

友情鏈接