Linux 文件管理(C语言库函数三)
找到当前目录
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语言库函数三)的更多相关文章
- Linux 文件管理(C语言库函数一)
系统调用函数能够直接操作系统设备,C语言库函数是对系统调用函数的封装,增加了可移植性, C语言库函数可以在各个系统上运行,而系统调用则会因为系统不同而有一定的差别. 在读写文件这个操作上,系统函数每次 ...
- C语言库函数大全及应用实例三
原文:C语言库函数大全及应用实例三 [编程资料]C语言库函数大全及应用实例三 函数名: ecvt 功 能: 把一个浮点数转换为字符串 用 法: char ecvt(double value, int ...
- 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 ...
- linux 下C语言学习路线
UNIX/Linux下C语言的学习路线.一.工具篇“公欲善其事,必先利其器”.编程是一门实践性很强的工作,在你以后的学习或工作中,你将常常会与以下工具打交道, 下面列出学习C语言编程常常用到的软件和工 ...
- Linux下C语言高手成长路线(转载)
建议学习路径: 首先先学学编辑器,vim, emacs什么的都行. 然后学make file文件,只要知道一点就行,这样就可以准备编程序了. 然后看看<C程序设计语言>K&R,这样 ...
- Linux文件管理相关命令
Linux文件管理相关命令 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在了解了Linux文件管理背景知识之后, 我们可以 ...
- Linux基础与Linux下C语言编程基础
Linux基础 1 Linux命令 如果使用GUI,Linux和Windows没有什么区别.Linux学习应用的一个特点是通过命令行进行使用. 登录Linux后,我们就可以在#或$符后面去输入命令,有 ...
- LINUX下C语言编程基础
实验二 Linux下C语言编程基础 一.实验目的 1. 熟悉Linux系统下的开发环境 2. 熟悉vi的基本操作 3. 熟悉gcc编译器的基本原理 4. 熟练使用gcc编译器的常用选项 5 .熟练使用 ...
- C语言库函数--操作文件
//C库函数读取文件的代码 I/O缓冲机制 C语言库函数写文件都是写在内存中,然后一次写入磁盘.提高了效率. 读写文件,不对系统进行操作,一般采用C语言库函数.移植可以在任何可以对C支持的操作系统,而 ...
随机推荐
- 如何让vs2017 EF实体生成支持Mysql 和 Oracle?
1.Mysql 安装 MySql Connector/Net https://dev.mysql.com/downloads/connector/net/ 安装 mysql f ...
- CMD一键获取cpu信息
windows + R 输入cmd打开CMD 输入wmic cpu get Name 获取cpu名称-即物理cpu数 cpu get NumberOfCores获取cpu核心数 cpu get Num ...
- Fillrate
http://xionggf.com/articles/graphic/misc/mobile_gpu_term.html IMR Immediate Mode Rendering 立即渲染模式 TB ...
- Android App引导页这些坑你自己犯过吗?
场景:測试机:华为荣耀6x 今天我自己掉入一个非常蠢蠢的坑,一个引导页搞了20多分钟.无论我怎么測试用真机还是模拟器都无法执行,可是我写的demo全然没问题,好无语,我都怀疑我是不是搞android, ...
- 【Hadoop】用 Ganglia 监控hadoop集群
随着数据中心的增长和管理人员的缩减,对计算资源使用有效监视工具的需求变得比以往更加迫切.术语监视 在应用到数据中心时可能会让人混淆,因为它的含义会根据具体的说话者和听众而有所不同.例如: 在集群中运行 ...
- nginx+vue实例纪录
参考:http://www.cnblogs.com/wuac/p/6406843.html 新建工作目录vuepro,命令行之行命令:vue init webpack vue-test (项目默认的名 ...
- ILockBytes Windows Mobile 6.5
ILockBytes Windows Mobile 6.5 https://msdn.microsoft.com/zh-cn/library/aa911496(en-us,MSDN.10).aspx ...
- spock+maven+junitReport接口测试框架
1.POM 文件: <?xml version="1.0" encoding="UTF-8"?><project xmlns="ht ...
- redis学习笔记——Redis过期键的删除策略
Redis过期键的删除策略 对于过期键一般有三种删除策略 定时删除:在设置键的过期时间的同时,创建一个定时器(timer),让定时器在键的过期时间来临时,立即执行对键的删除操作: 惰性删除:放任键过期 ...
- World Wind Java开发之三 显示状态栏信息
先来看下本篇博客索要达到的效果: 找到源代码下的gov.nasa.worldwind.util下的StatusBar.java文件,能够看到状态栏显示的信息主要包含视点高度以及相应空间点三维坐标以及是 ...