欢迎来到天天文库
浏览记录
ID:51493366
大小:177.49 KB
页数:6页
时间:2020-03-25
《Linux C编程--目录文件操作.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、DLUTBruceZhang的专栏生活就是需要有创意--例如:Coding&&Debug[置顶]LinuxC编程--目录文件操作分类:LinuxC编程2013-03-0118:57441人阅读评论(0)收藏举报LinuxC编程1.stat获取文件属性#include#include#includeintstat(constchar*filename,structstat*buf);intfstat(fd,structstat*buf);i
2、ntlstat(constchar*filename,structstat*buf);fstat与stat的区别是fstat通过文件描述符指定文件;lstat与stat的区别在于,对于符号连接文件,lstat返回的是符号链接文件本身的状态信息,而stat返回的是符号链接指向的文件状态信心。成功返回0,错误范围-12.chown设置文件属性#include#includeintchown(constchar*path,uid_towner,gid_tgroup);
3、intfchown(intfd,uid_towner,gid_tgroup)’intlchown(constchar*path,uid_towner,gid_tgroup);fchown与chown的区别是fchown通过文件描述符指定文件;lchown与chown的区别在于,对于符号连接文件,lchown返回的是符号链接文件本身的状态信息,而chown返回的是符号链接指向的文件状态信心。成功返回0,错误范围-1文件的所有者只能改变文件的组id为其所属组中的一个,超级用户才能修改文件的所有者id,并且超级用
4、户可以任意修改文件的用户组id。如果参数owner或group指定为-1,那么文件的用户id和组id不会被改变。3.truncate改变文件大小#include1#includeinttruncate(constchar*path,off_tlength);intftruncate(intfd,off_tlength);将指定文件大小改为参数length指定的大小,如果原来的文件比参数length大,则超过的部分会被删除;如果原来的文件大小比参数length小,
5、则文件将被扩展,扩展部分用0填充。成功返回0,错误范围-14.utime改变文件的st_mtime域和st_ctime域,即存取时间和修改时间。#include#includeintutime(constchar*filename,structutimbuf*buf);#includeintutime(char*filename,structtimeval*tvp);structutimbuf{time_tactime;time_tmodt
6、ime;}如果buf是一个空指针,则存取时间和修改时间都为当前时间。成功返回0,错误范围-15.umake设置文件创建时的屏蔽字,并返回以前的值#include#includemode_tumask(mode_tmask);6.rename文件的移动和修改文件名#includeintrename(constchar*oldpath,constchar*newpath);2若newpath指定的文件已存在,则原文件会删除7.remove文件的
7、删除#includeintunlink(constchar*pathname);intremove(constchar*pathname);文件的删除可以使用unlink系统调用,目录的删除需要使用rmdir系统调用,而通用的既能删除文件又能删除目录的系统调用是remove,remove内部封装了unlink和rmdir。成功返回0,错位返回-1。8.mkdir目录的创建#include#includeintmkdir(constchar
8、*pathname,mode_tmode);成功返回0,错位返回-1。9.rmdir目录的删除#includeintrmdir(constchar*pathname);rmdir只能删除空目录,成功返回0,错位返回-1。10.getcwd获取当前目录#includechar*gercwd(char*buf,size_tsize);char*get_current_dir_n
此文档下载收益归作者所有