c语言 怎么查找 当前目录有哪些 文件

c语言 怎么查找 当前目录有哪些 文件,第1张

在命令提示符窗口运行:findfile (盘掘吵数空符):\ *.(文件后缀)

如:判毕侍[sourcecode language=”plain”]findfile d:\ *.txt [/sourcecode]

即为找出d盘根目录下的所有.txt后缀的文件并写入文件路径于文件中。

1、可以利用getenv函数来实现。

在Linux系统中,home目录的定义是通过系统环境变量中的HOME变量值来确定的,在shell下可以通过

echo $HOME来查看。

而在C语言中,库函数getenv可以用作获取环差枣境变量值。该函数位于stdlib.h, 原型为

char *getenv(char *name)

功能为获取名字为name的环境变量字符串。

所以,下面代码就可以获取到home目录名了:

2、镇埋例程虚旅拆:

char *home

home = getenv("HOME")

printf("the home path is %s\n", home)

输入某文件夹路径,遍历该文件夹及其子文件夹(包括子文件夹的子文件夹等),获取其中所有文件的函数:

/// <summary>

/// 查找指定文件夹下指定后缀名的文件

/// </summary>

/// <param name="directory">文件夹</param>

/// <param name="pattern">后缀名</param>

/// <returns>文件路径</returns>

public void GetFiles(DirectoryInfo directory, string pattern, ref List<string>fileList)

{

if (directory.Exists || pattern.Trim() != string.Empty)

{

try

{

foreach (FileInfo info in directory.GetFiles(pattern))

{

fileList.Add(info.FullName.ToString())

}

}

catch (System.Exception ex)

{

Console.WriteLine(ex.ToString())

}

foreach (DirectoryInfo info in directory.GetDirectories())//获取文件枯亩厅夹下的子文件夹

{

GetFiles(info, pattern, ref fileList)//递归调用该函数,获取子文件夹下的文件耐薯

}

}

}

使用实例:

List<string>FindResult = new List<string>()

GetFiles(new DirectoryInfo(@"C:\","*.*", ref FindResult) //获取C盘下的所有文件路径

GetFiles(new DirectoryInfo(@"\\192.168.1.107\Save"), "*.*"没隐, ref FindResult)//获取局域网上共享文件夹下的所有文件


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/8177940.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存