列出指定目录下的所有文件的绝对路径
2014-06-14 15:31
543 查看
要求:指定目录路径做输入参数,打印输出该路径下所有文件的绝对路径使用非递归方式
知识点:
绝对路径由指定目录的绝对路径加上文件的相对路径得到
使用sprintf()创建绝对路径int sprintf( char *buffer, const char *format, [ argument] … )
buffer:char型指针,指向将要写入的字符串的缓冲区。
format:格式化字符串。
[argument]...:可选参数,可以是任何类型的数据。
返回值:字符串长度(strlen)
代码:
#include<stdio.h>
#include<stdlib.h>
#include<sys/stat.h>
#include<unistd.h>
#include<errno.h>
#include<dirent.h>
#include<sys/types.h>
#define SIZE 1024
int main(int argc,char*argv[])
{
struct stat buf;
DIR* dir;
struct dirent *dirent;
int res;
char fullpath[SIZE];
if(argc!=2)
{
printf("参数不正确!正确格式:./main filepath\n");
exit(1);
}
stat(argv[1],&buf);
res=buf.st_mode&S_IFDIR;
if(res==S_IFDIR)
{
printf("%s为目录\n",argv[1]);
}
else
{
printf("%s不是目录\n",argv[1]);
exit(1);
}
dir=opendir(argv[1]);
printf("%s目录下文件绝对路径:\n",argv[1]);
while(dirent=readdir(dir))
{
if((strcmp(dirent->d_name, ".") == 0) || (strcmp(dirent->d_name, "..") == 0))
{
continue;
}
sprintf(fullpath,"%s/%s",argv[1],dirent->d_name);
printf("%s\n",fullpath);
}
closedir(dir);
return 0 ;
}
知识点:
绝对路径由指定目录的绝对路径加上文件的相对路径得到
使用sprintf()创建绝对路径int sprintf( char *buffer, const char *format, [ argument] … )
buffer:char型指针,指向将要写入的字符串的缓冲区。
format:格式化字符串。
[argument]...:可选参数,可以是任何类型的数据。
返回值:字符串长度(strlen)
代码:
#include<stdio.h>
#include<stdlib.h>
#include<sys/stat.h>
#include<unistd.h>
#include<errno.h>
#include<dirent.h>
#include<sys/types.h>
#define SIZE 1024
int main(int argc,char*argv[])
{
struct stat buf;
DIR* dir;
struct dirent *dirent;
int res;
char fullpath[SIZE];
if(argc!=2)
{
printf("参数不正确!正确格式:./main filepath\n");
exit(1);
}
stat(argv[1],&buf);
res=buf.st_mode&S_IFDIR;
if(res==S_IFDIR)
{
printf("%s为目录\n",argv[1]);
}
else
{
printf("%s不是目录\n",argv[1]);
exit(1);
}
dir=opendir(argv[1]);
printf("%s目录下文件绝对路径:\n",argv[1]);
while(dirent=readdir(dir))
{
if((strcmp(dirent->d_name, ".") == 0) || (strcmp(dirent->d_name, "..") == 0))
{
continue;
}
sprintf(fullpath,"%s/%s",argv[1],dirent->d_name);
printf("%s\n",fullpath);
}
closedir(dir);
return 0 ;
}
相关文章推荐
- 递归列出指定目录下的所有文件的绝对路径
- 获取指定目录及其子目录下所有文件的绝对路径
- 列出指定目录下的所有文件的路径
- Python列出当前目录下所有含有指定名称的文件(包括路径)
- sed 列出当前目录下的所有文件形成绝对路径
- 【代码】当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出绝对路径
- Java基础知识强化之IO流笔记14:递归之输出指定目录下所有java文件绝对路径的案例
- IO流_递归输出指定目录下所有的java文件的绝对路径案例
- JAVA之File类-将指定目录下的所有java文件的绝对路径存储到文本文件中
- android 获取指定路径下所有文件,将文件从一个目录copy到另一个目录,执行linux命令
- 树型结构列出指定目录里所有文件的PHP类
- java 列出指定目录下的所有文件及文件扩展名
- 用JAVA扫描指定文件夹下面所有以.txt结尾的文件,并将其绝对路径输出
- 获取指定目录下指定类型所有文件的全路径及文件名
- 列出指定目录下的所有文件
- 列出指定目录下的所有文件,并且有层次关系在控制台显示
- PHP循环输出指定目录下的所有文件和文件夹路径例子(简单实用)
- 树型结构列出指定目录里所有文件的PHP类
- C#取得指定路径下所有目录及文件名称(可递归)
- 列出指定目录下的所有文件和目录