linux高级编程day04 笔记
2012-08-21 15:43
375 查看
一.IO与文件映射
1.IO的共享与效率
read与write其中数据缓冲的大小
读取数据的缓冲大小:getpagesize。
2.定位与定位读取(随机读取)
read与write在操作的时候,自动移动读取位置.
lseek改变读取位置.
pread/pwrite在指定位置读写。
2.1.lseek的函数说明:
返回:
返回当前读取位置在文件中的绝对位置.
2.2.lseek的作用:定位文件的位置
问题:lseek的定位的位置超出文件的大小范围?
lseek移动位置只要合法,都是有效
2.3.lseek+write=pwrite
lseek+read =pread
View Code
1.在vi设置编码:
:set encoding=编码 gb2312 ios-8859-1 utf-8
2.在编译器指定源文件的编码 -finput-charset=gb2312
3.在终端指定编码:
4.系统默认编码
/etc/sysconfig/i18n配置编码
作业:(使用文件映射)
1.使用内存方式读取数据
2.使用curses+io完成:图书信息的录入
3.使用curses+io显示图书信息:
每次显示一条:
使用up down键翻滚记录数据
4.读取文件文件,使用curses 显示.
实现如下功能:
上下翻页功能
输入q,结束功能
1.IO的共享与效率
read与write其中数据缓冲的大小
读取数据的缓冲大小:getpagesize。
2.定位与定位读取(随机读取)
read与write在操作的时候,自动移动读取位置.
lseek改变读取位置.
pread/pwrite在指定位置读写。
2.1.lseek的函数说明:
off_t lseek( int fd,//定位文件描述符号 off_t off,//定位位置 int whence//定位参照点:文件开始位置/文件结束位置/文件当前位置 //SEEK_SET SEEK_END SEEK_CUR );
返回:
返回当前读取位置在文件中的绝对位置.
2.2.lseek的作用:定位文件的位置
问题:lseek的定位的位置超出文件的大小范围?
lseek移动位置只要合法,都是有效
2.3.lseek+write=pwrite
lseek+read =pread
View Code
#include <curses.h> void init(); void drawUi(); void dealInput(); void destroy(); main() { init(); drawUi(); dealInput(); destroy(); } void dealInput() { int a,b; while(1) { mvaddstr(2,3," "); mvscanw(2,3,"%d",&a); mvaddstr(2,11," "); mvscanw(2,11,"%d",&b); mvaddstr(2,19," "); mvprintw(2,19,"%d",a+b); refresh(); } } void drawUi() { mvaddstr(2,2,"[ ]+[ ]=[ ]"); refresh(); } void destroy() { endwin(); } void init() { initscr(); }
1.在vi设置编码:
:set encoding=编码 gb2312 ios-8859-1 utf-8
2.在编译器指定源文件的编码 -finput-charset=gb2312
3.在终端指定编码:
4.系统默认编码
/etc/sysconfig/i18n配置编码
作业:(使用文件映射)
1.使用内存方式读取数据
2.使用curses+io完成:图书信息的录入
3.使用curses+io显示图书信息:
每次显示一条:
使用up down键翻滚记录数据
4.读取文件文件,使用curses 显示.
实现如下功能:
上下翻页功能
输入q,结束功能
相关文章推荐
- c++ 学习笔记(高级linux编程) day1
- linux高级编程day09 笔记
- linux高级编程day02 笔记
- linux高级编程day08 笔记
- 【linux高级环境编程学习笔记四】消息队列进程通信
- linux高级编程day01 笔记
- c++ 学习笔记(高级linux编程) day3
- 【linux高级环境编程学习笔记一】管道通信
- linux高级编程day06 笔记
- c++ 学习笔记(高级linux编程) day5
- Linux高级文件编程 标准C部分笔记
- c++ 学习笔记(高级linux编程) day4
- 【linux高级环境编程学习笔记二】信号通信
- c++ 学习笔记(高级linux编程) day6
- linux高级编程day10 笔记
- c++ 学习笔记(高级linux编程) day8
- linux高级编程day05 笔记
- linux高级编程day07 笔记
- c++ 学习笔记(高级linux编程) day7
- 【linux高级环境编程学习笔记三】共享内存通信