zoukankan      html  css  js  c++  java
  • 文件操作-一个可以直接复制文件数据的小程序

    部分名词解释:

    文件描述符:

    文件描述符(file descriptor) 通常是一个小的非负整数,内核用以标识一个特定进程正在访问的文件,当内核打开一个现有文件或创建一个新文件时,它都返回一个文件描述符。

    在读、写文件时,可以使用这个文件描述符;

    root@aiyq195:/home/aiyq195/lx/unixc/1# cat file.c
    #include "apue.h"

    #define BUFFSIZE 4096

    int main(void)
    {
    int n;
    char buf[BUFFSIZE];

    while( (n = read(STDIN_FILENO,buf,BUFFSIZE) ) >0 )
    {
    if( write(STDOUT_FILENO,buf,n) != n )
    perror("write error"),exit(-1);
    }
    if( n<0 )
    {
    perror("read error"),exit(-1);
    }
    exit(0);
    }
    root@aiyq195:/home/aiyq195/lx/unixc/1# ls
    error.c fi file.c myls myls.c

    编译一下程序:
    root@aiyq195:/home/aiyq195/lx/unixc/1# gcc file.c -o fi
    root@aiyq195:/home/aiyq195/lx/unixc/1# ./fi > fi.txt
    nihao
    aiyq195
    i m aiyq195

    然后使用 ls 命令查看下,会发现当前路径下多了一个文件 fi.txt
    root@aiyq195:/home/aiyq195/lx/unixc/1# ls
    error.c fi file.c fi.txt myls myls.c

    查看文件内的数据
    root@aiyq195:/home/aiyq195/lx/unixc/1# cat fi.txt
    nihao
    aiyq195
    i m aiyq195

    试着将文件内的数据拷贝到其他的文件中
    root@aiyq195:/home/aiyq195/lx/unixc/1# ./fi < fi.txt > fi1.txt
    root@aiyq195:/home/aiyq195/lx/unixc/1# ls
    error.c fi fi1.txt file.c fi.txt myls myls.c
    root@aiyq195:/home/aiyq195/lx/unixc/1# cat fi1.txt
    nihao
    aiyq195
    i m aiyq195

  • 相关阅读:
    训练赛
    树形dp专题
    返回的中文乱码问题
    富文本内容放在xml标签中;
    xml 截取 标签中的字符串;字符串去掉空格
    Intetn 传输 (2)
    安卓修改标题栏
    简单的数据存储(SharedPreferences.Editor)
    Intent的数据传输
    python实现快排+冒泡排序
  • 原文地址:https://www.cnblogs.com/aiyq195/p/6478222.html
Copyright © 2011-2022 走看看