<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>LINUXQQ &#187; linux下C 文件操作</title>
	<atom:link href="http://www.linuxqq.net/archives/tag/linux%e4%b8%8bc-%e6%96%87%e4%bb%b6%e6%93%8d%e4%bd%9c/feed" rel="self" type="application/rss+xml" />
	<link>http://www.linuxqq.net</link>
	<description>LINUXQQ狂人时代</description>
	<lastBuildDate>Tue, 10 Jan 2012 04:39:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>linux下C 文件操作</title>
		<link>http://www.linuxqq.net/archives/104.html</link>
		<comments>http://www.linuxqq.net/archives/104.html#comments</comments>
		<pubDate>Fri, 03 Jul 2009 02:39:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[C语言]]></category>
		<category><![CDATA[linux下C 文件操作]]></category>

		<guid isPermaLink="false">http://www.linuxqq.net/?p=104</guid>
		<description><![CDATA[前言:      我们在这一节将要讨论linux下文件操作的各个函数.  1.文件的创建和读写  2.文件的各个属性  3.目录文件的操作  4.管道文件  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; 1。文件的创建和读写      我假设你已经知道了标准级的文件操作的各个函数(fopen,fread,fwrite等等).当然如果你不清楚的话也不要着急.我们讨论的系统级的文件操作实际上是为标准级文件操作服务的.  当我们需要打开一个文件进行读写操作的时候,我们可以使用系统调用函数open.使用完成以后我们调用另外一个close函数进行关闭操作.  #include  #include  #include  #include  int open(const char *pathname,int flags); int open(const char *pathname,int flags,mode_t mode); int close(int fd); open函数有两个形式.其中pathname是我们要打开的文件名(包含路径名称,缺省是认为在当前路径下面).flags可以去下面的一个值或者是几个值的组合.  O_RDONLY:以只读的方式打开文件.  O_WRONLY:以只写的方式打开文件.  O_RDWR:以读写的方式打开文件.  O_APPEND:以追加的方式打开文件.  O_CREAT:创建一个文件.  O_EXEC:如果使用了O_CREAT而且文件已经存在,就会发生一个错误.  O_NOBLOCK:以非阻塞的方式打开一个文件.  O_TRUNC:如果文件已经存在,则删除文件的内容.  前面三个标志只能使用任意的一个.如果使用了O_CREATE标志,那么我们要使用open的第二种形式.还要指定mode标志,用来表示文件的访问权限.mode可以是以下情况的组合.  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; S_IRUSR 用户可以读 S_IWUSR 用户可以写 S_IXUSR 用户可以执行 S_IRWXU 用户可以读写执行 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; S_IRGRP 组可以读 S_IWGRP 组可以写 S_IXGRP 组可以执行 S_IRWXG 组可以读写执行 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; S_IROTH         其他人可以读    S_IWOTH         其他人可以写 S_IXOTH         其他人可以执行  S_IRWXO         其他人可以读写执行 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; S_ISUID 设置用户执行ID  S_ISGID 设置组的执行ID &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; 我们也可以用数字来代表各个位的标志.Linux总共用5个数字来表示文件的各种权限. 00000.第一位表示设置用户ID.第二位表示设置组ID,第三位表示用户自己的权限位,第四位表示组的权限,最后一位表示其他人的权限. [...]]]></description>
		<wfw:commentRss>http://www.linuxqq.net/archives/104.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

