导航:首页 > 文件类型 > 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获得文件名相关的资料

热点内容
怎么用手机把图片文件格式改小 浏览:976
网络输出异常 浏览:312
手机里暴风隐藏文件路径 浏览:49
win10备份系统文件好大 浏览:293
js导出html到excel 浏览:725
c游戏编程用什么软件 浏览:645
java依赖倒置 浏览:166
华为畅玩5x微信运动 浏览:819
applepay必须改美国时间 浏览:893
max文件默认打开方式 浏览:466
拆迁农民要看的有哪些文件 浏览:351
苹果手机铃声的文件后缀 浏览:352
什么东西代表了编程 浏览:698
网络中心如何关闭 浏览:258
k3编程是什么意思 浏览:296
vba和sql数据库哪个好 浏览:38
u启王u盘启动盘制作工具 浏览:228
深入理解android网络编程 浏览:615
javah无法访问 浏览:11
keyvalue内存数据库 浏览:446

友情链接