找到当前目录
char *getcwd(char * buf,size_t size)
getcwd函数把当前工作目录的绝对路径名复制到buf中,size指示buf的大小
如果buf不够大,不能装下整个路径名,getcwd返回NULL。
当前目录是指当前页面所在的目录,不是指程序所在的目录,相当于"pwd"命令
//getcwd()
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <errno.h> int main(int arg, char * args[])
{
//获取当前目录
char buf[]={};
/*
getcwd()函数头文件是unistd.h
*/
char *res=getcwd(buf,sizeof(buf));
if(res)
{
printf("%s\n",buf);
}
return ;
}
获取目录列表
--用opendir函数打开目录文件
--用readdir函数读出目录文件内容
--用closedir函数关闭目录文件。
--这些函数都在<dirent.h>头文件中声明
DIR *opendir(const char *name);
struct dirent *readdir(DIR *dirp);
int closedir(DIR *dirp);
opendir函数打开pathname指向的目录文件,如果错误返回NULL
创建目录--暂时只能手动创建,我还没有好办法
struct dirent {
ino_t d_ino; /* inode number */
off_t d_off; /* offset to the next dirent */
unsigned short d_reclen; /* length of this record */
unsigned char d_type; /* type of file; not supported
by all file system types */
char d_name[]; /* filename */
};
//opendir(),readdir(),closedir()
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <sys/types.h>
#include <dirent.h> int main(int arg, char * args[])
{
if(arg<)
{
printf("请输入一个参数!\n");
return ;
}
//创建一个目录指针
DIR *dp=NULL;
//定义目录结构指针
struct dirent *drp=NULL;
//打开一个目录
dp=opendir(args[]);
if(dp==NULL)
{
printf("error msg:%s\n",strerror(errno));
return ;
}
/*
drp=readdir(dp)这是赋值操作
while判断是drp对象是否为空
readdir(dp)读出目录文件内容,返回值是struct dirent结构体对象指针
*/
while((drp=readdir(dp))!=NULL)
{
//注意:struct dirent在windows和Linux下的定义不同
printf("%s\n",drp->d_name);
}
//关闭目录指针
if(dp!=NULL)
closedir(dp);
return ;
}

Linux 文件管理(C语言库函数三)的更多相关文章

  1. Linux 文件管理(C语言库函数一)

    系统调用函数能够直接操作系统设备,C语言库函数是对系统调用函数的封装,增加了可移植性, C语言库函数可以在各个系统上运行,而系统调用则会因为系统不同而有一定的差别. 在读写文件这个操作上,系统函数每次 ...

  2. C语言库函数大全及应用实例三

    原文:C语言库函数大全及应用实例三 [编程资料]C语言库函数大全及应用实例三 函数名: ecvt 功 能: 把一个浮点数转换为字符串 用 法: char ecvt(double value, int ...

  3. Linux就这个范儿 第15章 七种武器 linux 同步IO: sync、fsync与fdatasync Linux中的内存大页面huge page/large page David Cutler Linux读写内存数据的三种方式

    Linux就这个范儿 第15章 七种武器  linux 同步IO: sync.fsync与fdatasync   Linux中的内存大页面huge page/large page  David Cut ...

  4. linux 下C语言学习路线

    UNIX/Linux下C语言的学习路线.一.工具篇“公欲善其事,必先利其器”.编程是一门实践性很强的工作,在你以后的学习或工作中,你将常常会与以下工具打交道, 下面列出学习C语言编程常常用到的软件和工 ...

  5. Linux下C语言高手成长路线(转载)

    建议学习路径: 首先先学学编辑器,vim, emacs什么的都行. 然后学make file文件,只要知道一点就行,这样就可以准备编程序了. 然后看看<C程序设计语言>K&R,这样 ...

  6. Linux文件管理相关命令

    Linux文件管理相关命令   作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在了解了Linux文件管理背景知识之后, 我们可以 ...

  7. Linux基础与Linux下C语言编程基础

    Linux基础 1 Linux命令 如果使用GUI,Linux和Windows没有什么区别.Linux学习应用的一个特点是通过命令行进行使用. 登录Linux后,我们就可以在#或$符后面去输入命令,有 ...

  8. LINUX下C语言编程基础

    实验二 Linux下C语言编程基础 一.实验目的 1. 熟悉Linux系统下的开发环境 2. 熟悉vi的基本操作 3. 熟悉gcc编译器的基本原理 4. 熟练使用gcc编译器的常用选项 5 .熟练使用 ...

  9. C语言库函数--操作文件

    //C库函数读取文件的代码 I/O缓冲机制 C语言库函数写文件都是写在内存中,然后一次写入磁盘.提高了效率. 读写文件,不对系统进行操作,一般采用C语言库函数.移植可以在任何可以对C支持的操作系统,而 ...

随机推荐

  1. centos 7.3systemctl工具

    http://www.cnblogs.com/tswcypy/p/4479153.html

  2. 理解面向对象编程---C#控制台实现52张扑克牌的分法

    52张牌随机分给4个玩家,要求每个玩家的牌用一个一维数组表示. 我们采用模拟大法.初始化一副扑克牌,洗牌,发牌. using System; using System.Collections.Gene ...

  3. S3C2440时钟配置

    参考: http://blog.csdn.net/mr_raptor/article/details/6555734 http://blog.csdn.net/mjx91282041/article/ ...

  4. 项目管理利器——Maven阅读目录

    阅读目录 一.Maven介绍及环境搭建 二.构建Maven版的Hello World 三.Maven常见构建命令 四.自动创建目录骨架 五.Maven中的坐标和仓库 六.在eclipse中安装Mave ...

  5. WebHelper-SessionHelper、CookieHelper、CacheHelper、Tree

    ylbtech-Unitity: cs-WebHelper-SessionHelper.CookieHelper.CacheHelper.Tree SessionHelper.cs CookieHel ...

  6. FL2440 rt3070模块station模式移植

    ---------------------------------------------------------------------------------------------------- ...

  7. avro序列化详细操作

    Intellij 15.0.3 Maven avro 1.8.0 Avro是一个数据序列化系统. 它提供以下: 1 丰富的数据结构类型 2 快速可压缩的二进制数据形式 3 存储持久数据的文件容器 4 ...

  8. Servlet执行时一般实现哪几个方法?

    public void init(ServletConfig config) public ServletConfig getServletConfig() public String getServ ...

  9. hadoop2.2.0集群安装和配置

    hadoop2.0已经发布了稳定版本了,增加了很多特性,比如HDFS HA.YARN等. 注意:apache提供的hadoop-2.2.0的安装包是在32位操作系统编译的,因为hadoop依赖一些C+ ...

  10. Eclipse user library位置

    原因: 转自:http://happycoolyp.iteye.com/blog/1853135 user libraries的记录文件%eclipse_workspace%\.metadata\.p ...