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

就是要获取C:\下的所有目录,存储到二维字符串中(这样才可以操作)我记得有相关的函数可以把目录和文件列表存储到结构中的(忘了)用VC可以吗?(但是不用C++)尽量用标准C... 就是要获取C:\下的所有目录,存储到二维字符串中(这样才可以操作)
我记得有相关的函数可以把目录和文件列表存储到结构中的(忘了)
用VC可以吗?(但是不用C++)
尽量用标准C实现!(不要用TC)
有高手的话,可以直接给一个完整的代码吗?
system("dir >out.txt")再读取文件 这个方法是可行的
但是不好把目录和文件分开处理.
再说了读取一个格式很乱的txt文件,处理起来至少要上百行的代码!

system()的执行效率不好,我尽量不用它.
展开
 我来答
tattackor
推荐于2016-01-02 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:868万
展开全部
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);
L_o_o_n_i_e
推荐于2016-05-02 · TA获得超过4.2万个赞
知道大有可为答主
回答量:8507
采纳率:38%
帮助的人:5116万
展开全部
#include <stdio.h>
#include <stdlib.h>

void main()
{
system("DIR /D C:\\ /s /B > a.log");
}

C:\下的所有文件夹,子文件夹里所有文件,转向到 文本文件 a.log 里。
格式:
C:\aaa\bbb\ccc\...

只要文件夹命令:
dir /d c: /B /ad
只要文件夹命令,含子文件夹:
dir /d c: /B /ad /s
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
linchen447
2010-06-10 · TA获得超过541个赞
知道小有建树答主
回答量:347
采纳率:0%
帮助的人:235万
展开全部
#include<cstdlib>
#include<stdio.h>
int main()
{
system("dir -s >information.txt");
}
接下来自己把那个文件读到数组里面就可以了啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式