• 文件I/O的操作实例


    1_open.c:

    #include <sys/types.h>
    #include <stdio.h>
    #include <sys/stat.h>
    #include <fcntl.h>
    
    int main(int argc,char *argv[])
    {
        int fd;        //文件描述符
        
        /*以读的方式打开一个文件,如果文件不存在,则返回错误*/
        fd = open("test.txt",O_RDONLY);
        if(fd < 0){
            perror("open");
            return -1;
        }
        printf("fd == %d
    ",fd);
    
        return 0;
    }

    2_open.c:

    #include <sys/types.h>
    #include <stdio.h>
    #include <sys/stat.h>
    #include <fcntl.h>
    
    int main(int argc,char *argv[])
    {
        int fd;        //文件描述符
        
        /*以读的方式打开一个文件,如果文件不存在,则创建它*/
        fd = open("test.txt",O_RDONLY | O_CREAT,0755);
        if(fd < 0){
            perror("open");
            return -1;
        }
        printf("fd == %d
    ",fd);
    
        return 0;
    }

    3_read.c:

    #include <sys/types.h>
    #include <stdio.h>
    #include <sys/stat.h>
    #include <fcntl.h>
    
    int main(int argc,char *argv[])
    {
        int fd;        //文件描述符
        int ret;
        char buf[100] = {0};
    
        /*读取标准终端 : 0 (STDIN_FILENO)*/
        ret = read(0,buf,sizeof(buf)-1);
        if(ret > 0){
            /*读取成功*/
    
            /*打印到终端*/
            printf("%s
    ",buf);
        }
    
        return 0;
    }

    4_read.c:

    #include <sys/types.h>
    #include <stdio.h>
    #include <sys/stat.h>
    #include <fcntl.h>
    #include <unistd.h>
    
    int main(int argc,char *argv[])
    {
        int fd;        //文件描述符
        int ret;
        char buf[100] = {0};
    
        /*打开一个文件,以读的方式*/
        fd = open("test.txt",O_RDONLY);
        if(fd < 0){
            perror("open test");
            return -1;
        }
        
        /*把文件指针移动到文件头*/
        lseek(fd,0,SEEK_SET);
    
        /*读取标准终端 : 0 (STDIN_FILENO)*/
        ret = read(fd,buf,sizeof(buf)-1);
        if(ret > 0){
            /*读取成功*/
    
            /*打印到终端*/
            printf("%s
    ",buf);
        }
    
        return 0;
    }

    5_write.c:

    #include <sys/types.h>
    #include <stdio.h>
    #include <sys/stat.h>
    #include <fcntl.h>
    #include <unistd.h>
    
    int main(int argc,char *argv[])
    {
        int fd;        //文件描述符
        int ret;
        char buf[100] = {0};
    
        /*打开一个文件,以读的方式*/
        fd = open("test.txt",O_RDONLY);
        if(fd < 0){
            perror("open test");
            return -1;
        }
        
        /*把文件指针移动到文件头*/
        lseek(fd,0,SEEK_SET);
    
        /*读取标准终端 : 0 (STDIN_FILENO)*/
        ret = read(fd,buf,sizeof(buf)-1);
        if(ret > 0){
            /*读取成功*/
    
            /*打印到终端*/
            write(1,buf,ret);
        }
    
        return 0;
    }

    6_write_read.c:

    #include <sys/types.h>
    #include <stdio.h>
    #include <sys/stat.h>
    #include <fcntl.h>
    #include <unistd.h>
    
    int main(int argc,char *argv[])
    {
        int fdr;        //文件描述符
        int fdw;
        int ret;
        char buf[100] = {0};
    
        /*打开一个文件,以读的方式*/
        fdr = open("test.txt",O_RDONLY);
        if(fdr < 0){
            perror("open test");
            return -1;
        }
        
        /*打开一个文件dest.txt,用于写,如果文件不存在,则创建*/
        fdw = open("dest.txt",O_WRONLY | O_CREAT,0755);
        if(fdw < 0){
            perror("open dest");
            return -1;
        }
    
        /*把文件指针移动到文件头*/
        lseek(fdr,0,SEEK_SET);
        
        /*读取标准终端 : 0 (STDIN_FILENO)*/
        ret = read(fdr,buf,sizeof(buf)-1);
        if(ret > 0){
            /*读取成功*/
    
            /*写入到文件dest.txt*/
            write(fdw,buf,ret);
        }
    
        return 0;
    }
  • 相关阅读:
    多行文本溢出显示省略号(…)
    CSS3 grayscale滤镜图片变黑白实例页面
    腾讯TGideas语义化标签(转)
    jQuery Ajax通用js封装
    动态加载 js
    Javascript的四种继承方式
    Android四大组件之Activity
    Android四大组件通信的Intent介绍和详解
    oracle学习笔记(十四) 数据库对象 索引 视图 序列 同义词
    oracle学习笔记(十三) 查询练习(三) 子查询查询
  • 原文地址:https://www.cnblogs.com/yihujiu/p/5520976.html
Copyright © 2020-2023  润新知