易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux下的C编程实战之文件系统编程

1.Linux文件系统
  Linux

持多种文件系统,如ext、ext2、minix、iso9660、msdos、fat、vfat、nfs等。在这些具体文件系统的上层,Linux提供
了虚拟文件系统(VFS)来统一它们的行为,虚拟文件系统为不同的文件系统与内核的通信提供了一致的接口。下图给出了Linux中文件系统的关系:
  在Linux平台下对文件编程可以使用两类函数:(1)Linux操作系统
文件API;(2)C语言I/O库函数。 前者依赖于Linux系统调用,后者实际上与操作系统是独立的,因为在任何操作系统下,使用C语言I/O库函数操作文件的方法都是相同的。本章将对这两种方法进行实例讲解。
  2.Linux文件API
  Linux的文件操作API涉及到创建、打开、读写和关闭文件。
  创建
int creat(const char *filename, mode_t mode);
  参数mode指定新建文件的存取权限,它同umask一起决定文件的最终权限(mode&umask),其中umask代表了文件在创建时需要去掉的一些存取权限。umask可通过系统调用umask()来改变:
int umask(int newmask);
  该调用将umask设置为newmask,然后返回旧的umask,它只影响读、写和执行权限。
  打开
int open(const char *pathname, int flags);
int open(const char *pathname, int flags, mode_t mode);
  open函数有两个形式,其中pathname是我们要打开的文件名(包含路径名称,缺省是认为在当前路径下面),flags可以去下面的一个值或者是几个值的组合:
标志
含义
O_RDONLY
以只读的方式打开文件
O_WRONLY
以只写的方式打开文件
O_RDWR
以读写的方式打开文件
O_APPEND
以追加的方式打开文件
O_CREAT
创建一个文件
O_EXEC
如果使用了O_CREAT而且文件已经存在,就会发生一个错误
O_NOBLOCK
以非阻塞的方式打开一个文件
O_TRUNC
如果文件已经存在,则删除文件的内容
 
 
  O_RDONLY、O_WRONLY、O_RDWR三个标志只能使用任意的一个。
  如果使用了O_CREATE标志,则使用的函数是int open(const char *pathname,int flags,mode_t mode); 这个时候我们还要指定mode标志,用来表示文件的访问权限。mode可以是以下情况的组合:
标志
含义
S_IRUSR
用户可以读
S_IWUSR
用户可以写
S_IXUSR
用户可以执行
S_IRWXU
用户可以读、写、执行
S_IRGRP
组可以读
S_IWGRP
组可以写
S_IXGRP
组可以执行
S_IRWXG
组可以读写执行
S_IROTH
其他人可以读
S_IWOTH
其他人可以写
S_IXOTH


相关文档:

【LINUX编程】Makefile的基本介绍

1.make  &  Makefile 的基本用法:
一个程序由print.c和main.c两个源文件构成,程序的功能是main.c中的main函数调用print.c中定义的print函数。
 
(1)基本的编译链接:
# cc -c main.c                  //编译ma ......

Linux 下php扩展 tidy 的安装 _ 参考

tidy 是一个非常帮忙的网页代码分析和纠错的工具,能够支持多种页面编码,并且支持xhtml输出。如果我们偷懒,甚至可以将整个页面缓存,最后采用tidy处理,最后输出完美的xhtml代码。
linux下安装过程如下:
首先安装tidy ,下载tidy源代码:
cvs -d:pserver: anonymous@tidy.cvs.sourceforge.net 为防备电子邮件地址收集 ......

Linux Enterprise5 下自动启动 Mysql 和Apache的配置

1. Mysql 自动启动的配置
在MySQL安装程序的解压包
/usr/local/mysql/support-files
myslq.server的启动脚本程序=》 复制/etc/rc.d/init.d目录
[root@localhost ~]# cd /etc/rc.d/init.d
复制并重命名为mysql
[root@localhost init.d]# cp /usr/local/mysql/support-files/mysql.server mysql
更改属性改为“x& ......

Android原生(Native)C开发之二 framebuffer篇


如对Android原生(Natvie)C开发还任何疑问,请参阅http://emck.avaw.com/?p=205
虽然现在能通过交叉环境编译程序,并push到Android上执行,但那只是console台程序,是不是有些单调呢?下面就要看如何通过Linux的 framebuffer 技术在Android上画图形,关于Linux的framebuffer技术,这里就不再详细讲解了,请大家google一下 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号