1.close函数
用来关闭一个已经打开的文件,并且将文件修改过的内容回写到磁盘。
成功关闭文件则返回0,失败则返回-1;
O_RDWR:
是文件I/O的常用函数,open函数,open函数用来打开一个设备,他返回的是一个整型变量,如果这个值等于-1,说明打开文件出现错误,如果为大于0的值,那么这个值代表的就是文件描述符。一般的写法是if((fd=open("/dev/ttys0",O_RDWR | O_NOCTTY | O_NDELAY)<0){ perror("open"); } 这个事常用的一种用法fd是设备描述符,linux在操作硬件设备时,屏蔽了硬件的基本细节,只把硬件当做文件来进行操作,而所有的操作都是以open函数来开始,它用来获取fd,然后后期的其他操作全部控制fd来完成对硬件设备的实际操作。你要打开的/dev/ttyS0,代表的是串口1,也就是常说的com1,后面跟的是一些控制字。int open(const char *pathname, int oflag, …/*, mode_t mode * / ) ;这个就是open函数的公式。控制字可以有多种,我现在给你列出来: O_RDONLY 只读打开。 O_WRONLY 只写打开。 O_RDWR 读、写打开
在vi下编辑
unistd.h的意思是Unix Standard的意思,里面定义的宏一类的东西都是为了Unix标准服务的(一般来说包括了POSIX的一些常量……
unistd是 unix 系统标准头文件,用于系统调用,相当于win32中的windows.h。比如用到unistd中的getpid(),获取系统进程的id,在windows下直接用GetCurrentProcessId和getWindowThreadProcessId函数可实现要求,在winbase.h头文件中。
fcntl.h=file control(我猜的)
提供对文件控制的函数
gcc一下 并建立一个text.txt的文件
运行
把txt删除了以后,显示fail。
2.creat函数 创建一个文件
要用头文件#include<fcntl.h>
用来创建一个新文件,并以“只写”的方式将这个新创建的文件打开。代码如下
编译并运行
成功创建!
3.read读取文件的数据
buf表示缓冲区,将文件的数据读取到该缓冲区中;
n=read(fd,buf,1024)这句是关键
运行
原文:http://blog.csdn.net/pyufftj/article/details/20299981