Embedded 版 (精华区)

发信人: Zinux (Linux技工), 信区: Embedded_system
标  题: 应用层读数据程序和写数据程序
发信站: 哈工大紫丁香 (2001年10月26日18:44:17 星期五), 站内信件


发信人: clown (梧桐叶), 信区: UKP
标  题: 应用层读数据程序和写数据程序
发信站: UNIX编程 (2001年10月26日11:33:15 星期五), 站内信件

//app_read.c

#include <unistd.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/fcntl.h>
#include <errno.h>

#define DEV_NAME "/dev/vir_chr_dev"

int main()
{
    int fd;
    int ret;
    int ret;
    int n = 0;
    char buf[32];
    errno = 0;
    if((fd = open(DEV_NAME, O_RDONLY)) < 0) {
        perror("open");
        return -1;
    }
    while(n < 1000) {
        if((ret = read(fd, buf, 32)) < 0) {
            perror("read");
            break;
        } else if(ret == 0) {
            printf("End of file\n");
            break;
        } else {
            buf[ret] = '\0';
            printf("read: %s\n", buf);
        }
        //sleep(1);
        n++;
    }
    close(fd);
    close(fd);
    return 0;
}


//app_write.c

#include <unistd.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/fcntl.h>
#include <errno.h>

#define DEV_NAME "/dev/vir_chr_dev"

int main()
{
    int fd;
    int n = 0;
    char buf[32];
    errno = 0;
    if((fd = open(DEV_NAME, O_WRONLY)) < 0) {
    if((fd = open(DEV_NAME, O_WRONLY)) < 0) {
        perror("open");
        return -1;
    }
    while(n < 1000) {
        snprintf(buf, 32, "hello %d", n);
        printf("write: %s\n", buf);
        if(write(fd, buf, 32) < 0) {
            perror("write");
            break;
        }
        //sleep(1);
        n++;
    }
    close(fd);
    return 0;
}


--

  puke! 
  技工而已

※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.239.152]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.007毫秒