0

在将字符串 c 复制到 buf 之前,我需要将此用户空间缓冲区设为零。如何将缓冲区初始化为零。

static ssize_t myread(struct file *file,char __user *buf,size_t len, loff_t  *fops)
{
    printk(KERN_INFO"My read with length %d \n",len);
    len = strlen(c);

    if(copy_to_user(buf,c,len) != 0)
        return -EFAULT;
    else if (*fops > 0)
        return 0;
        else
            *fops += len;
            return len;
}
4

1 回答 1

2

使用 memset

参见手册页的用法,它将一个常量字节设置为一系列连续的 buf 地址

于 2013-01-29T18:57:46.707 回答