c语言查找文件名的函数,C语言获取文件名

C语言如何查找名字?

字符串函数,头文件包括#include

邯山网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站建设等网站项目制作,到程序开发,运营维护。创新互联成立于2013年到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联

用其中的一个比较函数if(strcmp(name1,name2)==

0),所有的名字都存在一个二维字符数组里,把这句话加在循环体内每个名字遍历一次即可找到。希望能帮到你。

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;

}

}

获取当前目录下所有文件名函数 c语言

system("attrib -s -h"); // 如果需要显示系统文件和隐藏文件

system("DIR /b file_list.txt"); // 文件名存入 文件 file_list.txt

/b -- 只取 文件名

怎样使用C语言列出某个目录下的文件?

用C语言列出目录下的文件,在linux下可采用readdir()函数来实现,代码实现过程为:

打开目录

循环读目录,输出目录下文件

关闭目录指针

参考代码:

#include dirent.h

#include stdio.h

int main()

{

DIR *dirp; 

struct dirent *dp;

dirp = opendir("."); //打开目录指针

while ((dp = readdir(dirp)) != NULL) { //通过目录指针读目录

printf("%s\n", dp-d_name );

}      

(void) closedir(dirp); //关闭目录

return 0;

}

在windows下,代码如下:

#include io.h

#include stdio.h

void printDir( const char* path )

{

struct _finddata_t data;

long hnd = _findfirst( path, data );    // 查找文件名与正则表达式chRE的匹配第一个文件

if ( hnd  0 )

{

perror( path );

}

int  nRet = (hnd 0 ) ? -1 : 1;

while ( nRet = 0 )

{

if ( data.attrib == _A_SUBDIR )  // 如果是目录

printf("   [%s]*\n", data.name );

else

printf("   [%s]\n", data.name );

nRet = _findnext( hnd, data );

}

_findclose( hnd );     // 关闭当前句柄

}

void main()

{

printDir("d:/*.*");

}

相关函数说明:

long _findfirst( char *filespec, struct _finddata_t *fileinfo );  

// 功  能 : 提供与filespec指定入口泛式匹配的第一个文件.通常后继用_findnext()函数来完成某泛式下的文件遍历.  

// 头文件 : #include io.h  

// 参  数 : filespec - 目标文件规范,可以包含通配符  

//          fileinfo - 文件信息buffer  

// 返回值 : 成功返回唯一的搜索句柄  

//          出错返回-1,且设置errno为如下值:  

//          ENOENT 该泛式无法匹配  

//          EINVAL 无效文件名  

int _findnext( long handle, struct _finddata_t *fileinfo );  

// 功  能 : 按照前面_findfirst中的泛式规则,查找下一个符合该泛式的文件,并以此为依据修改fileinfo中的值  

// 头文件 : #include io.h  

// 参  数 : long handle - 搜索句柄(通常由紧靠其前的_findfirst()返回)  

//          fileinfo    - 文件信息buffer  

// 返回值 : 成功返回0  

//          出错返回-1

int _findclose( long handle );  

// 功  能 : 关闭搜寻句柄并释放相应资源  

// 头文件 : #include io.h  

// 参  数 : long handle - 搜索句柄(通常由紧靠其前的_findfirst()返回)  

// 返回值 : 成功返回0  

//          出错返回-1

在c语言中读写文件如何查找特定名称的文件?

打开文件,遍历文件内容然后一个一个匹配查找就好了。

下面是一段示例代码:

#includestdio.h

#includestring.h

#includedir.h

#define SIZE 12

void find_creat_file(char *);

int main(void)

{

char filename[SIZE];

strcpy(filename,"filename");

find_creat_file(filename);

getch();

return 0;

}

void find_creat_file(char *filename)

{

struct ffblk ffblk;

int done;

done=findfirst("d:\\filename",ffblk,0);

if(done==0)

return 0;

else

mkdir("d:\\filename");

}


本文标题:c语言查找文件名的函数,C语言获取文件名
文章源于:http://scjbc.cn/article/dseddcj.html

其他资讯