linux 中对目录进行操作的数据 C语言实现
long handle;
char path[_MAXPATH]; //路径
handle=_findfirst("*",&file);//查找所有文件
if(handle==-1)/*如果handle为-1, 表示当前目录为空, 则结束查找而返回
如果handle为-1, 表示当前目录为空, 则结束查找而返回 */
return ;
else
{
if(file.attrib &_A_SUBDIR ) //是目录
{
if(http://www.wendangwang.com[0]!='.') //文件名不是'.'或'..'时
{
_chdir(http://www.wendangwang.com); //进入该目录
_getcwd(path,_MAXPATH) //获得目录路径
puts(path); //输出目录路径
view();//继续遍历
_chdir("..");/*查查找完毕之后, 返回上一级目录找完毕之后, 返回 上一级目录*/
}
}
else 如果第一个实体不是目录,显示该文件
{
_getcwd(path,_MAXPATH);
// 再获得文件的完整的路径名(包含文件的名称)
strcat(path,"\\");
strcat(path,http://www.wendangwang.com);
printf("%-20s 9ld\n",path,file.size);
}
// 继续对当前目录中的下一个子目录或文件进行与上面同样的查找
while(!(_findnext(handle,&file))
{
if(file.attrib &_A_SUBDIR) //是目录
{
if(http://www.wendangwang.com[0]!='.') //文件名不是'.'或'..'时
{
_chdir(http://www.wendangwang.com); //进入该目录
_getcwd(path,_MAXPATH) //获得目录路径
puts(path); //输出目录路径
view();//继续遍历
_chdir("..");/*查查找完毕之后, 返回上一级目录找完毕之后, 返回 上一级目录*/
}