内核下按行读文件方法

来源:互联网 发布:西装面料品牌 知乎 编辑:程序博客网 时间:2024/04/18 20:04

内核态下没有fgets函数,如果要按行读取文件,需要用户自己实现。

static char *read_line(char *buf, int buf_len, struct file *fp){        int ret;        int i = 0;        mm_segment_t fs;        fs=get_fs();        set_fs(KERNEL_DS);        ret = fp->f_op->read(fp, buf, buf_len, &(fp->f_pos));        set_fs(fs);        if (ret <= 0)                return NULL;        while(buf[i++] != '\n' && i < ret);        if(i < ret) {                fp->f_pos += i-ret;        }        if(i < buf_len) {                buf[i] = 0;        }        return buf;}


0 0
原创粉丝点击