導航:首頁 > 文件類型 > c獲得文件名

c獲得文件名

發布時間:2023-03-12 21:06:08

1. c語言獲取文件

voidget_filename(char*path,char*name)
{
inti,j=0;
for(i=0;path[i];i++)
if(path[i]=='\')j=i;
strcpy(name,&path[j]);
}

這樣得到的name就是你需要的。專

PS:對於屬windows 路徑中的是 而不是你題目中的/

2. C語言 如何通過文件指針獲得文件名

在tc20中,一旦你成功打開一個文件,他將返回一個文件指針。

FILE*fp;

fp=fopen("abc.dat",文件狀態(如w,r,r+));

當上面的操作成功後文件指針fp就會賦予你打開文件的最基本信息!

FILE結構在TurboC在stdio.h文件中有以下的文件類型聲明:

typedefstruct

{

shortlevel;/*緩沖區「滿」或「空」的程度*/

unsignedflags;/*文件狀態標志*/

charfd;/*文件描述符(句柄)*/

unsignedcharhold;/*如無緩沖區不讀取字元*/

shortbsize;/*緩沖區的大小*/

unsignedchar*buffer;/*數據緩沖區的位置*/

unsignedar*curp;/*指針,當前的指向*/

unsignedistemp;/*臨時文件,指示器*/

shorttoken;/*用於有效性檢查*/

}FILE;

為管理你打開的文件,操作系統為所有的文件創建一個打開文件信息的結構數組---文件控制塊(FCB),而文件描述符就承擔了訪問與之對應的文件控制塊的使命,他在c中就充當文件句柄。每一個文件都需要唯一的一個標識,這樣才能管理若干個文件

FCB他存貯這你所有打開文件的信息,而只有通過文件句柄才能訪問與之對應的FCB,從而訪問你的文件.

文件句柄,就是FCB結構數組的下標

所以,通過文件指針獲得文件名的操作路線:

FILE*fp;

charfd=fp->fd;

FCB*fcb;

char*filiname=fcb[fd].filiname

利用FCB(文件控制塊)操作的例子見:

http://www.asme.net/blog/user/postcontent.jsp?neighborId=8747&kindLevel=1&kindId=24655&postId=40710&readSg=1

3. c語言文件名提取

可以參考 DIR 命令選項 (/os /oe /od /on 等),知道其它排列方法。
例如:
system("dir *.* /os > m01.txt"); // m01.txt 存放內:按文件大小排列
system("dir *.* /oe > m02.txt"); //m02.txt 存放:按文件擴展名次序容排列
system("dir *.* /od > m03.txt"); //m03.txt 存放:按文件日期排列

4. 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);

5. 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;
}

6. c語言如何獲取運行程序的自身文件名

#include<stdio.h>
#include<string.h>

intmain(intargc,char*argv[]){
char*FileDP=argv[0];
printf("%s ",FileDP);
char*FileName=strrchr(FileDP,'\')+1;
printf("%s ",FileName);//Here'sFileName.
}

7. 在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獲得文件名相關的資料

熱點內容
卸載三湘銀行app原來的個人信息怎麼處理 瀏覽:330
iphone6顯示無服務 瀏覽:382
藍牙中的配置文件是什麼 瀏覽:834
折線圖底下怎麼添加數據 瀏覽:695
非專業生自學編程該如何入手 瀏覽:79
win10如何查找本機文件在哪裡設置密碼 瀏覽:124
視頻放到ps3哪個文件夾 瀏覽:389
一列有多少項數據 瀏覽:483
蘋果5英版卡貼怎麼調 瀏覽:742
網路快的城市有哪些 瀏覽:481
刻錄時源文件名與文件名 瀏覽:239
安卓app遠程下發配置文件 瀏覽:898
如何編程qq收到信息 瀏覽:959
飛思卡爾智能車程序分為幾個模塊 瀏覽:960
怎麼深入了解編程語言 瀏覽:942
win10editionbeta 瀏覽:812
蘋果手機常用軟體大全 瀏覽:172
蘋果7晶元型號8010 瀏覽:1
怎麼解壓視頻文件 瀏覽:631
華為共享網路如何設置密碼 瀏覽:272

友情鏈接