首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MoTao
V2EX  ›  程序员

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

  •  
  •   MoTao · 15 天前 · 1262 次点击

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

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

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