linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘建议留言网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > article > Linux开发区 > 软件开发 >
栏目导栏
资料搜索
热门文章
·Linux 下 C 语言编程
·Linux下的通用线程池创建
·C++字符串转换篇
·linux C 进程操作篇
·linux上的C/C++编译器gcc/egcs
·linux C 文件权限控制篇
·GCC使用手册
·linux C 接口处理篇
·在Redhat Linux上安装 GCC 编译
·GCC使用指南
·C语言运算符
·Linux下C开发环境的构成和安装
·fopen()函数的参数说明
·GCC使用手册与常用命令
·Scheme 语言介绍
最新文章
·在Ubuntu Linux 8.04上构建GCC
·Linux操作系统下Socket编程地址
·将VC程序移植到Linux系统的几点
·Linux下malloc/free与new/dele
·Linux下用GTK和socket实现简单
·Linux操作系统下让Tomcat启动在
·Linux操作系统中如何编译C程序
·几种常被人们忽略的Linux系统下
·Eclipse编程工具 在Ubuntu下的
·Linux操作系统下的网络地址转换
·老手经验谈:Linux驱动程序开发
·Linux操作系统多线程同步Mutex
·Linux操作系统下C程序语言简易
·Linux系统平台下关于GCC编译及
·解决Linux系统下管道被接受方关
Google
 
linux C 文件权限控制篇
[ 作者:Linux联盟收集  加入时间:2006-06-24 14:02:38  来自:Linux联盟收集 ]
瑄nlinkhw5Linux联盟
表头文件
#include<stdio.h>hw5Linux联盟
定义函数
int remove(const char * pathname);hw5Linux联盟
函数说明
remove()会删除参数pathname指定的文件。如果参数pathname为一文件,则调用unlink()处理,若参数pathname为一目录,则调用rmdir()来处理。请参考unlink()与rmdir()。hw5Linux联盟
返回值
成功则返回0,失败则返回-1,错误原因存于errno。hw5Linux联盟
错误代码
EROFS 欲写入的文件存在于只读文件系统内hw5Linux联盟
EFAULT 参数pathname指针超出可存取内存空间hw5Linux联盟
ENAMETOOLONG 参数pathname太长hw5Linux联盟
ENOMEM 核心内存不足hw5Linux联盟
ELOOP 参数pathname有过多符号连接问题hw5Linux联盟
EIO I/O 存取错误。hw5Linux联盟
 
hw5Linux联盟
hw5Linux联盟
hw5Linux联盟
rename(更改文件名称或位置)
相关函数
link,unlink,symlinkhw5Linux联盟
表头文件
#include<stdio.h>hw5Linux联盟
定义函数
int rename(const char * oldpath,const char * newpath);hw5Linux联盟
函数说明
rename()会将参数oldpath 所指定的文件名称改为参数newpath所指的文件名称。若newpath所指定的文件已存在,则会被删除。hw5Linux联盟
返回值
执行成功则返回0,失败返回-1,错误原因存于errnohw5Linux联盟
范例
/* 设计一个DOS下的rename指令rename 旧文件名新文件名*/hw5Linux联盟
#include <stdio.h>hw5Linux联盟
void main(int argc,char **argv)hw5Linux联盟
{hw5Linux联盟
if(argc<3){hw5Linux联盟
printf(“Usage: %s old_name new_namen”,argv[0]);hw5Linux联盟
return;hw5Linux联盟
}hw5Linux联盟
printf(“%s=>%s”,argc[1],argv[2]);hw5Linux联盟
if(rename(argv[1],argv[2]<0)hw5Linux联盟
printf(“error!n”);hw5Linux联盟
elsehw5Linux联盟
printf(“ok!n”);hw5Linux联盟
}hw5Linux联盟
 
hw5Linux联盟
hw5Linux联盟
hw5Linux联盟
rewinddir(重设读取目录的位置为开头位置)
相关函数
open,opendir,closedir,telldir,seekdir,readdir,scandirhw5Linux联盟
表头文件
#include<sys/types.h>hw5Linux联盟
#include<dirent.h>hw5Linux联盟
定义函数
void rewinddir(DIR *dir);hw5Linux联盟
函数说明
rewinddir()用来设置参数dir 目录流目前的读取位置为原来开头的读取位置。hw5Linux联盟
返回值
hw5Linux联盟
错误代码
EBADF dir为无效的目录流hw5Linux联盟
范例
#include<sys/types.h>hw5Linux联盟
#include<dirent.h>hw5Linux联盟
#include<unistd.h>hw5Linux联盟
main()hw5Linux联盟
{hw5Linux联盟
DIR * dir;hw5Linux联盟
struct dirent *ptr;hw5Linux联盟
dir = opendir(“/etc/rc.d”);hw5Linux联盟
while((ptr = readdir(dir))!=NULL)hw5Linux联盟
{hw5Linux联盟
printf(“d_name :%sn”,ptr->d_name);hw5Linux联盟
}hw5Linux联盟
rewinddir(dir);hw5Linux联盟
printf(“readdir again!n”);hw5Linux联盟
while((ptr = readdir(dir))!=NULL)hw5Linux联盟
{hw5Linux联盟
printf(“d_name: %sn”,ptr->d_name);hw5Linux联盟
}hw5Linux联盟
closedir(dir);hw5Linux联盟
}hw5Linux联盟
执行
d_name:.hw5Linux联盟
d_name:..hw5Linux联盟
d_name:init.dhw5Linux联盟
d_name:rc0.dhw5Linux联盟
d_name:rc1.dhw5Linux联盟
d_name:rc2.dhw5Linux联盟
d_name:rc3.dhw5Linux联盟
d_name:rc4.dhw5Linux联盟
d_name:rc5.dhw5Linux联盟
d_name:rc6.dhw5Linux联盟
d_name:rchw5Linux联盟
d_name:rc.localhw5Linux联盟
d_name:rc.sysinithw5Linux联盟
readdir again!hw5Linux联盟
d_name:.hw5Linux联盟
d_name:..hw5Linux联盟
d_name:init.dhw5Linux联盟
d_name:rc0.dhw5Linux联盟
d_name:rc1.dhw5Linux联盟
d_name:rc2.dhw5Linux联盟
d_name:rc3.dhw5Linux联盟
d_name:rc4.dhw5Linux联盟
d_name:rc5.dhw5Linux联盟
d_name:rc6.dhw5Linux联盟
d_name:rchw5Linux联盟
d_name:rc.localhw5Linux联盟
d_name:rc.sysinithw5Linux联盟
 
hw5Linux联盟
hw5Linux联盟
hw5Linux联盟
seekdir(设置下回读取目录的位置)
相关函数
open,opendir,closedir,rewinddir,telldir,readdir,scandirhw5Linux联盟
表头文件
#include<dirent.h>hw5Linux联盟
定义函数
void seekdir(DIR * dir,off_t offset);hw5Linux联盟
函数说明
seekdir()用来设置参数dir目录流目前的读取位置,在调用readdir()时便从此新位置开始读取。参数offset 代表距离目录文件开头的偏移量。hw5Linux联盟
返回值
hw5Linux联盟
错误代码
EBADF 参数dir为无效的目录流hw5Linux联盟
范例
#include<sys/types.h>hw5Linux联盟
#include<dirent.h>hw5Linux联盟
#include<unistd.h>hw5Linux联盟
main()hw5Linux联盟
{hw5Linux联盟
DIR * dir;hw5Linux联盟
struct dirent * ptr;hw5Linux联盟
int offset,offset_5,i=0;hw5Linux联盟
dir=opendir(“/etc/rc.d”);hw5Linux联盟
while((ptr = readdir(dir))!=NULL)hw5Linux联盟
{hw5Linux联盟
offset = telldir(dir);hw5Linux联盟
if(++i = =5) offset_5 =offset;hw5Linux联盟
printf(“d_name :%s offset :%d n”,ptr->d_name,offset);hw5Linux联盟
}hw5Linux联盟
seekdir(dir offset_5);hw5Linux联盟
printf(“Readdir again!n”);hw5Linux联盟
while((ptr = readdir(dir))!=NULL)hw5Linux联盟
{hw5Linux联盟
offset = telldir(dir);hw5Linux联盟
printf(“d_name :%s offset :%dn”,ptr->d_name.offset);hw5Linux联盟
}hw5Linux联盟
closedir(dir);hw5Linux联盟
}hw5Linux联盟
执行
d_name : . offset :12hw5Linux联盟
d_name : .. offset:24hw5Linux联盟
d_name : init.d offset 40hw5Linux联盟
d_name : rc0.d offset :56hw5Linux联盟
d_name :rc1.d offset :72hw5Linux联盟
d_name:rc2.d offset :88hw5Linux联盟
d_name:rc3.d offset 104hw5Linux联盟
d_name:rc4.d offset:120hw5Linux联盟
d_name:rc5.d offset:136hw5Linux联盟
d_name:rc6.d offset:152hw5Linux联盟
d_name:rc offset 164hw5Linux联盟
d_name:rc.local offset :180hw5Linux联盟
d_name:rc.sysinit offset :4096hw5Linux联盟
readdir again!hw5Linux联盟
d_name:rc2.d offset :88hw5Linux联盟
d_name:rc3.d offset 104hw5Linux联盟
d_name:rc4.d offset:120hw5Linux联盟
d_name:rc5.d offset:136hw5Linux联盟
d_name:rc6.d offset:152hw5Linux联盟
d_name:rc offset 164hw5Linux联盟
d_name:rc.local offset :180hw5Linux联盟
d_name:rc.sysinit offset :4096hw5Linux联盟
 
hw5Linux联盟
hw5Linux联盟
hw5Linux联盟
stat(取得文件状态)
相关函数
fstat,lstat,chmod,chown,readlink,utimehw5Linux联盟
表头文件
#include<sys/stat.h>hw5Linux联盟
#include<unistd. Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
分页:1 2 3 4 [5] 6 7
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
无相关信息