之前有个要把打开的文件清空,然后重新写入的需求,但是使用 ftruncate(fd, 0)后,并没有达到效果,反而文件头部有了'\0',长度比预想的大了。究其原因是没有使用 lseek 重置文件偏移量,是我太天真了,以为清空文件就会从头开始写入。
------------------------------------- 我是解释分割线 -----------------------------...
分类:
系统相关 时间:
2015-02-06 14:59:12
阅读次数:
238
//example #include #include #include #include #define GPIO_TO_PIN(bank, gpio) (32 * (bank) + (gpio))int main(int argc, char * argv){ int i, n, fd; cha...
分类:
其他好文 时间:
2015-02-06 00:43:09
阅读次数:
314
三期第五讲 -高级文件管理1.输入输出重定向 ls -l /dev/stdin -> /proc/self/fd/0 标准输入 设备:键盘 标记:0 ls -l /dev/stdout -> /proc/self/fd/1 标准输出 设备:屏幕 标记:1 ls...
分类:
系统相关 时间:
2015-02-05 20:05:44
阅读次数:
245
上一篇文章给自己总结了一下linux环境下的大部分的I/O函数,还有一类函数就是为当前操作的文件设置文件偏移量。同样分为两种函数,一种是linux提供的一个系统调用函数lseek();还有一种就是标准C库函数。先介绍linux下面的的lseek()函数: off_t lseek(int fd,of....
分类:
其他好文 时间:
2015-01-30 22:15:38
阅读次数:
131
epoll - I/O event notification facility在linux的网络编程中,非常长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的优点在于它不会随着监听fd数目的增长而减少效率。由于...
分类:
其他好文 时间:
2015-01-30 19:00:35
阅读次数:
151
包含头文件:#include epoll的接口非常简单,一共就三个函数:1. int epoll_create(int size);创建一个epoll的句柄,size用来告诉内核这个监听的数目一共有多大。2.int epoll_ctl(int epfd, int op, int fd, struct...
分类:
其他好文 时间:
2015-01-30 06:37:11
阅读次数:
199
接上一篇,今天我们来看看android\vendor\qcom\opensource\fm\qcom\fmradio\FmRxControls.java
/ *
*打开FM Rx / Tx。
* Rx = 1和Tx = 2
* /
public void fmOn(int fd, int device) {
int re;
FmReceiverJNI....
分类:
移动开发 时间:
2015-01-29 12:49:29
阅读次数:
245
目录1、串口配置函数2、打开串口3、读写串口总结:这些程序都是从书上抄来的,都是最最简单的程序,写在这里只是想写个大概的思路,具体的函数说明可以看书,其中值得说的就是两个函数,一个是fcntl(fd,F_SETFL,0)//恢复串口为阻塞模式还有一个是select(fd+1,&rd,NULL,NUL...
分类:
其他好文 时间:
2015-01-29 11:50:32
阅读次数:
195
ssize_t read(int fd,void* buffer,size_t count)read调用并会在在buffer的末尾添加一个'\0',所以若将buffer当作字符串处理的话需要自行添加'\0',常用操作如下:if((read_num = read(fd,buffer,count) > ...
分类:
其他好文 时间:
2015-01-25 13:40:56
阅读次数:
162
管道 只能用于具有亲缘关系的进程之间通信是一个半双工的通信模式,具有固定的写读端和写端,管道可以看成一种特殊的文件,对它可以使用普通的read、write等操作管道的创建:#include int pipe(int fd[2])该函数创建的管道的两端处于一个进程中间,在实际应用中没有太大意义,因此,...
分类:
系统相关 时间:
2015-01-24 21:13:41
阅读次数:
239