如何用C语言获取目录下的文件和目录列表?

如何用C语言获取目录下的文件和目录列表?,第1张

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)

直接fopen("abc.txt","r")

就可以了。

不过要注意一点,如果你使用VC编译调试,那么在里面点!号运行的时候,那个当前目录是指工程目录,而不是Debug文件夹里面。当然,你直接把exe文件拿出来用的话就是一般意义下的当前目录了。

用system

调用

DOS

DIR

命令就可以了:

system

(

"dir

sss_*

/B

>

log.txt")

这就把

前缀为sss_的文抄件

文件名

存入

log.txt

文件了。

一个名字袭一行,没有别的东西。

你再

读出zhidao来。

#include

<stdio.h>

main()

{

FILE

*fp

char

str[30][50]

//

假定文件数不超过30个

int

i,n=0

system("dir

sss_*

/B

>

log.txt")

fp=fopen("log.txt","r")

while(1){

if

(

fgets(str[n],50,fp)==NULL)

break

str[n][strlen(str[n])-1]='\0'

//

加一个字符串结束符

n++

}

fclose(fp)

for

(i=0i<ni++)

printf("%s\n",str[i])

}


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

原文地址: http://outofmemory.cn/tougao/11545322.html

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

发表评论

登录后才能评论

评论列表(0条)

保存