天嵌 ARM开发社区

 找回密码
 注册
查看: 2472|回复: 2

<求助>关于copy_to_user()

[复制链接]
robson 发表于 2010-3-10 22:01:00 | 显示全部楼层 |阅读模式
我在一个驱动程序中定义一个char类型数组,然后用copy_to_user(),企图把这个数组传到应用层。但当我在应用程序中用read()函数取出该数组时,使用printf()函数输出的居然是乱码!
     这是为什么呢?求大虾帮助?
亚瑟王 发表于 2010-3-11 11:10:17 | 显示全部楼层
read函数不是对copy_to_user操作哦,而是对驱动中的read进行操作的哦,你应该搞错了。
 楼主| robson 发表于 2010-3-11 12:11:54 | 显示全部楼层
本帖最后由 robson 于 2010-3-11 12:14 编辑

2# 亚瑟王


我是在驱动程序的read()接口函数中使用的copy_to_user()函数,大概如下:

驱动程序:
.......
char temp[4]={2,2,2,2};
.......
static int io_read(struct inode *inode, struct file *file, char buf, int count)
{
      int ret;
      ret = copy_to_user(buf, temp, sizeof(temp));
      return ret;
}
.......

应用程序:
......
char temp[1024];
......
      
      read(fd,temp,4);
      printf("%s\n",temp);

......



补充:
我也用了
for(i=0;i<4;i++)
    printf("%d\n",temp);
从终端中看到得还是乱七八糟的东西……
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-18 09:54 , Processed in 1.046875 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表