vc从文件路径获取文件名|用C语言如何从路径名中分离文件名

vc从文件路径获取文件名|用C语言如何从路径名中分离文件名的第1张示图

⑴ vc 如何获取选中文件的文件名和路径或者获取复制到剪贴板里的文件的文件名和路径也行。

QClipboard *clipboard = QApplication::clipboard();const QMimeData* strText = clipboard->mimeData();QStringList text = strText->formats();QByteArray bytearray = strText->data("FileName");

⑵ c++获取指定目录下的文件名

可以使用searchenv函数来实现,参考代码如下:

intmain(void){charpathbuffer[_MAX_PATH];charsearchfile[]="×.EXE";charenvvar[]="PATH";//:_searchenv(searchfile,envvar,pathbuffer);//C4996//Note:_searchenvisdeprecated;considerusing_searchenv_sif(*pathbuffer!='')printf("Pathfor%s:%s",searchfile,pathbuffer);elseprintf("%snotfound",searchfile);}

⑶ 怎样用C编程从路径中分离出一个文件名

声明一个足够抄长的名袭为fn的char型数组,调用库函数strrchr在含路径的全文件名中找到文件名前的'\',将其后的文件名拷贝到fn中即可。举例代码如下://#include "stdafx.h"//If the vc++6.0, with this line.#include "stdio.h"#include "string.h"int main(void){char fn[30],*p;char pathname[80]="e:\\1\\2\\abc.dat";//上句假设以某种方式获得的全文件名在pathname中,"…"中只是举例strcpy(fn,(p=strrchr(pathname,'\\')) ? p+1 : pathname);//上句函数第2实参这样写以防止文件在当前目录下时因p=NULL而出错printf("%s\n",fn);//打出来看看return 0;}

⑷ 如何在VC++ 6.0下实现对文件夹中的文件名的提取

#include <windows.h>#include <iostream>using namespace std;int FindDir(char *szDir){ char directory[MAX_PATH]; char file[MAX_PATH]; HANDLE hFile; WIN32_FIND_DATA fd; memset( &fd, 0, sizeof(WIN32_FIND_DATA) ); strncpy(directory, szDir,MAX_PATH); strcat(directory,"*.*"); hFile = FindFirstFile(directory, &fd); do { if( fd.cFileName[0] != '.' ) { if( fd.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY) { memset(file, 0, MAX_PATH); strcpy(file, szDir ); strcat(file, fd.cFileName ); strcat(file, "\\" ); FindDir(file); } else { memset(file, 0, MAX_PATH); strcpy(file, szDir); strcat(file, fd.cFileName ); cout<<file <<endl; } } }while( FindNextFile( hFile, &fd) );return 0;}int main(){ FindDir("C:\\"); //要提取的主目录,这样提取C盘所有文件 return 0;}

⑸ 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了} 或者我理解错了,楼主是要枚举路径下的文件名?

⑹ VC中如何根据路径名获得文件名

std::string GetFileNameByFilePath(const std::string filepath){ std::string filename; if(filepath.size() < 0) return ""; string::size_type ix = filepath.find_last_of('\\'); if(ix != string::npos) return filepath.substr(ix+1,filepath.size()-ix); return "";}

⑺ VC环境中用C语言查找当前路径下的所有文件和文件夹的函数是什么

这是我的TFTP程序中的一个函数,是搜索当前盘符下的所有文件,包括文件的大小,并发送到客户端,其中就有查找当前路径下的文件,你自己挑一下,应该能完成你的需求。void FileList(sockaddr_in sour_addr,char strStartDir[]){ char sendbuffer[1024]; sockaddr_in destaddr; int sourlen = 0; int ret = 0; int len = 0; int flen = 0; fd_set fdr; unsigned short blocknum = 0; FILE *file; char filename[128]; strcpy(filename,strStartDir+2); /*获取文件名*/ strcat(filename,"\\*"); destaddr.sin_family = AF_INET; destaddr.sin_port = sour_addr.sin_port; destaddr.sin_addr.s_addr = inet_addr(desthost);// WIN32_FIND_DATA FindFileData; HANDLE hFind; hFind = FindFirstFile(filename, &FindFileData); if (hFind == INVALID_HANDLE_VALUE) { printf ("Invalid File Handle"); } else { while(FindNextFile(hFind,&FindFileData)) { printf(FindFileData.cFileName); printf("\r\n"); memset(sendbuffer,'\0',1024); len = filldata(blocknum++,FindFileData.cFileName,strlen(FindFileData.cFileName),sendbuffer,sizeof(sendbuffer)); ret = sendto(serverSock,sendbuffer,len,0,(sockaddr *)&destaddr,sizeof(destaddr)); } len = fillover(blocknum,"Over",4,sendbuffer,sizeof(sendbuffer)); ret = sendto(serverSock,sendbuffer,len,0,(sockaddr *)&destaddr,sizeof(destaddr)); FindClose(hFind); return; }}

⑻ vc中已知文件的绝对路径怎么获得文件名和所在文件夹啊

你可以用getPathName等函数(至于这个函数的名称有没有记错我就不敢保证了),你可以在MSDN中查,专方法如下:1。打开属MSDN 2。单击“索引”3。输入CFile 这个类,然后查看这个类的成员函数,如果在CFile 中查不到相关的函数,那么可以查找它的父类或者SDK外:有很多函数其实是可以在MSDN中查到的,主要你大概知道这个函数功能或所属类就行了。

⑼ 用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";

中的双斜杠是赋值时用到的,如果路径名是其它方式专获取到,就不需要用到双属斜杠!

⑽ VC++ 获取文件名求高手解答

void GetAllFiles(CStringArray &strResult) //获取指定文件夹下的文件列表{ CFileFind ff; //文件查找对象 CString strPath="D:\\*.*"; //搜索指定文件夹下的所有文件 strResult.RemoveAll(); //文件列表清空 CString strFileName; int nIsFind=ff.FindFile(strPath); //执行文件搜索 while(nIsFind) //遍历所有文件 { nIsFind=ff.FindNextFile(); //查找下一个文件 if(ff.IsDirectory()) //若为目录,结束本次循环 continue; strFileName=ff.GetFileName(); //获取文件名称,包括后缀 if(strFileName==".." || strFileName==".") continue; strResult.Add(strFileName); //加入到字符串数组中 } ff.Close(); //关闭文件查找对象}

未经允许不得转载:山九号 » vc从文件路径获取文件名|用C语言如何从路径名中分离文件名

赞 (0)