❶ C语言怎么获取文件名
_findnext(handle,&FileInfo);handle就是指针值,FileInfo是一个结构体,具体是:struct _finddata_t FileInfo.
❷ C#中,能否获取文件路径中的文件名
可以通过 FileInfo 进行获取。
FileInfo fi = new FileInfo("C:\text.txt");string strName = fi.Name; // text.txt
❸ 如何用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); }
❹ VC++已知文件路径,如何获取路径下的文件名
楼主是想从路径下得到文件名吗假设路径是C:\1\2\3.txt,楼主是想要得到3.txt这个文件名吧,其实用CString很好专解决,反向查找\就可属以了CString sPath = _T("c:\\1\\2\\3.txt");CString sFile;int i = sPath.ReverseFind('\\');if (i > 0){sFile = sPath.Mid(i + 1);//sFile就是3.txt了} 或者我理解错了,楼主是要枚举路径下的文件名?
❺ 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; }
❻ 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
❼ 用C语言如何从路径名中分离文件名
void*GetFilename(char*p){intx=strlen(p);charch='\';char*q=strrchr(p,ch)+1;returnq;}intmain(){charp[]="D:\SoftWare\Adobe\Photoshop5.exe";printf("%s",GetFilename(p));return0;}
charp[]="D:\SoftWare\Adobe\Photoshop5.exe";
中的双斜杠是赋值时用到的,如果路径名是其它方式专获取到,就不需要用到双属斜杠!
❽ C++中如何从路径字符串中获取文件名!
C风格:
char*p=strrchr(path.c_str(),'/')
p是path里最后一个'/'的地址。然后
strings(p+1);
,内s就是"world.shp"了。
C++风格:
intpos=path.find_last_of('/');
pos就是最后一个'/'的下标容。
然后
strings(path.substr(pos+1));
s就是"world.shp"了。
❾ c# 已知路径如何获取文件名(不知文件名是什么)
既然文件名不知道是什么,用directory.getfiles去取得该目录下的文件,就可以得到文件名了. System.IO.DirectoryGetFiles(String) 返回指定目专录中文件的名属称(包括其路径)。例子:string targetDirectory = "c:\\windows"; //例如 string [] fileEntries = Directory.GetFiles(targetDirectory); foreach(string fileName in fileEntries)这里就可以得到该文件名称了.
未经允许不得转载:山九号 » c获取文件路径文件名|如何用c语言获得一个目录下所有文件的文件名