如何用C语言获取目录下的文件和目录列表?
就是要获取C:\下的所有目录,存储到二维字符串中(这样才可以操作)我记得有相关的函数可以把目录和文件列表存储到结构中的(忘了)用VC可以吗?(但是不用C++)尽量用标准C...
就是要获取C:\下的所有目录,存储到二维字符串中(这样才可以操作)
我记得有相关的函数可以把目录和文件列表存储到结构中的(忘了)
用VC可以吗?(但是不用C++)
尽量用标准C实现!(不要用TC)
有高手的话,可以直接给一个完整的代码吗?
system("dir >out.txt")再读取文件 这个方法是可行的
但是不好把目录和文件分开处理.
再说了读取一个格式很乱的txt文件,处理起来至少要上百行的代码!
system()的执行效率不好,我尽量不用它. 展开
我记得有相关的函数可以把目录和文件列表存储到结构中的(忘了)
用VC可以吗?(但是不用C++)
尽量用标准C实现!(不要用TC)
有高手的话,可以直接给一个完整的代码吗?
system("dir >out.txt")再读取文件 这个方法是可行的
但是不好把目录和文件分开处理.
再说了读取一个格式很乱的txt文件,处理起来至少要上百行的代码!
system()的执行效率不好,我尽量不用它. 展开
3个回答
展开全部
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);
在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);
展开全部
#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
#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
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<cstdlib>
#include<stdio.h>
int main()
{
system("dir -s >information.txt");
}
接下来自己把那个文件读到数组里面就可以了啊
#include<stdio.h>
int main()
{
system("dir -s >information.txt");
}
接下来自己把那个文件读到数组里面就可以了啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询