读取的代码方式如下:
int main()
{
long file
struct _finddata_t find
_chdir("d:\\")
if((file=_findfirst("*.*", &find))==-1L)
{
printf("空白!\n")
exit(0)
}
printf("%s\n", find.name)
while(_findnext(file, &find)==0)
{
printf("%s\n", find.name)
}
_findclose(file)
return 0
}
1、如果是在window环境下,可以液祥用一下方法:
使用stdlib.h头文件声明的system()函敏念数,调用系统命令dir,把c:目录下文件列表桥埋困写入文件dir.txt中
2、使用dirent.h头文件中声明的opendir(),readdir()函数;
3、如果没有dirent.h,可以使用io.h头文件中声明的_findfirst(),_findnext()函数:
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)
我也有同样的问题。到网上查,感觉实现较复杂。
最后用的是c语言调用cmd
生成文件列表文件,再用c语言去读取那个文件。进行字符串处理核茄。
c语言调用cmd 为 system(“cmd命令”);
比如:
#include <stdio.h>
#include <dos.h>
int main()
{
system("dir /s /卖瞎b >filelist.txt")/*这是全部文件,包括子目录*/
system("dir *.txt /b >filelist2.txt")/*当改配察前目录下的所有txt文件,不包括子目录*/
/*然后*/
sleep(100)
FILE * ptrin = fopen("filelist","r")/*读取并进行处理*/
/*处理*/
/*关闭文件flose(ptrin)*/
return 0
}
希望有谁有更好的办法。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)