• 请不要在回答技术问题时复制粘贴 AI 生成的内容
MoTao
V2EX  ›  程序员

如何使用系统调用函数 open、close、read、write 等实现 cp 功能?

  •  
  •   MoTao · Jun 30, 2020 · 3823 views
    This topic created in 2323 days ago, the information mentioned may be changed or developed.

    在 Ubuntu 系统中,如何使用系统调用函数 open 、close 、read 、write 等实现 cp 功能? 初学,希望各位解答下。

    19 replies  •  2020-06-30 10:43:50 +08:00
    dandycheung
    dandycheung
    Jun 30, 2020 via iPhone
    1
    直接去看 cp 命令的源代码吧
    zchlwj
    zchlwj
    Jun 30, 2020
    2
    好像大作业来的
    momocraft
    momocraft
    Jun 30, 2020
    3
    空手套作业?
    46fo
    46fo
    Jun 30, 2020
    4
    这不是文件操作最基本的吗。
    putaozhenhaochi
    putaozhenhaochi
    Jun 30, 2020 via Android
    5
    C ?
    BingoXuan
    BingoXuan
    Jun 30, 2020
    6
    本质就是从用户态进入内核态

    参考: http://gityuan.com/2016/05/21/syscall/
    lululau
    lululau
    Jun 30, 2020
    7
    看 APUE
    WordTian
    WordTian
    Jun 30, 2020 via Android
    8
    用 open 打开两个文件,循环读写呗
    PTLin
    PTLin
    Jun 30, 2020
    9
    好久没在 v2 看到这么简单的问题了。。。
    crclz
    crclz
    Jun 30, 2020
    10
    拷贝文件夹怎么办啊?是不是得用 mkdir 函数?
    RikkaW
    RikkaW
    Jun 30, 2020 via Android
    11
    问题里有个“等”,发出 sendfile 也是系统调用的声音,只要一行就好了(逃跑
    MoTao
    MoTao
    OP
    Jun 30, 2020
    12
    我好像写出来了(→_→)
    ztyMCR
    ztyMCR
    Jun 30, 2020
    13
    突然感觉自己还是大一新生
    fasionchan
    fasionchan
    Jun 30, 2020
    14
    用 man 逐个看下系统调用文档就知道怎么用了:man open
    vk42
    vk42
    Jun 30, 2020
    15
    这是来找作业答案来了?
    shawnsh
    shawnsh
    Jun 30, 2020
    16
    linux 系统编程书上有写
    guonaihong
    guonaihong
    Jun 30, 2020
    17
    不就是用 creat 创建目标文件,open 源文件,然后用 read 读源文件到 buffer 里面,然后用 write 把 buffer 数据写到目标文件里面,最后 close, close 。
    估计 8 行代码就搞定(只实现核心功能)。
    MoTao
    MoTao
    OP
    Jun 30, 2020
    18
    @guonaihong 已搞定
    guonaihong
    guonaihong
    Jun 30, 2020
    19
    @MoTao ok 。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2315 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 51ms · UTC 13:23 · PVG 21:23 · LAX 05:23 · JFK 08:23
    ♥ Do have faith in what you're doing.