apue第三章文件I/O
2015-10-10 14:22
507 查看
create():
-rw-rw-r-- 1 lili lili 16394 10月 10 14:12 file.hole
fntl中的定义:
ssize_t write (int fd,const void * buf,size_t count);
函数说明
write()会把指针buf所指的内存写入count个字节到参数fd所指的文件内。当然,文件读写位置也会随之移动。
返回值
如果顺利write()会返回实际写入的字节数。当有错误发生时则返回-1,错误代码存入errno中。
open():
int fd = open("/dev/stdout",O_WRONLY | O_RDONLY));
int fd = open("/dev/fd/0",O_WRONLY | O_RDONLY));
#include "apue.h" #include <fcntl.h> char buf1[] = "abcdefghij"; char buf2[] = "ABCDEFGHIJ"; int main(void) { int fd; if ((fd = creat("file.hole",(S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH | S_IWGRP))) < 0) err_sys("creat error"); if (write(fd, buf1, 10) != 10) err_sys("buf1 write error"); /* offset now = 10 */ if (lseek(fd, 16384, SEEK_SET) == -1) err_sys("lseek error"); /* offset now = 16384 */ if (write(fd, buf2, 10) != 10) err_sys("buf2 write error"); /* offset now = 16394 */ exit(0); }
-rw-rw-r-- 1 lili lili 16394 10月 10 14:12 file.hole
fntl中的定义:
# define S_IRUSR __S_IREAD /* Read by owner. */ # define S_IWUSR __S_IWRITE /* Write by owner. */ # define S_IXUSR __S_IEXEC /* Execute by owner. */ /* Read, write, and execute by owner. */ # define S_IRWXU (__S_IREAD|__S_IWRITE|__S_IEXEC) # define S_IRGRP (S_IRUSR >> 3) /* Read by group. */ # define S_IWGRP (S_IWUSR >> 3) /* Write by group. */ # define S_IXGRP (S_IXUSR >> 3) /* Execute by group. */ /* Read, write, and execute by group. */ # define S_IRWXG (S_IRWXU >> 3) # define S_IROTH (S_IRGRP >> 3) /* Read by others. */ # define S_IWOTH (S_IWGRP >> 3) /* Write by others. */ # define S_IXOTH (S_IXGRP >> 3) /* Execute by others. */ /* Read, write, and execute by others. */ # define S_IRWXO (S_IRWXG >> 3) #endifwrite():
ssize_t write (int fd,const void * buf,size_t count);
函数说明
write()会把指针buf所指的内存写入count个字节到参数fd所指的文件内。当然,文件读写位置也会随之移动。
返回值
如果顺利write()会返回实际写入的字节数。当有错误发生时则返回-1,错误代码存入errno中。
open():
int fd = open("/dev/stdout",O_WRONLY | O_RDONLY));
int fd = open("/dev/fd/0",O_WRONLY | O_RDONLY));
相关文章推荐
- Invalid ADAPTORNAME specified. Type 'imaqhwinfo' for a list of available ADAPTORNAMEs. Image acquisi
- UIMenuController 和 UIMenuItem 的使用
- IOS 自定义 UISegmentedControl
- IOS控制UITextField输入字数
- MySQL 更新中国列:1366 Incorrect string value 问题解决了
- SPOJ - DQUERY 主席树求区间有多少个不同的数(模板)
- Prince的十个按钮--运用了java中的GUI
- 雅虎UI 取色器 【笨笨 20151005】
- request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath
- UVA-1152 4 Values whose Sum is 0 (二分)
- Android UI模板设计 TopBar 标题栏的设计
- android 雷达UI
- UIScrollview自动布局,UIScrollviewAutolayoutDemo
- easyui datebox 只选择月份控件
- UE简单配置
- [Request processing failed; nested exception is java.lang.NullPointerException] with root cause
- easyui 自定义表单内容验证(汉字、字母、数字、邮箱、电话、邮编、身份证号等)
- requireJS--那些已经存在的好文章
- UIalertController
- Photoshop如何实现UI自动切图?