gpt4 book ai didi

c++ - pwrite 和 pread 比 fwrite 和 fread 有什么优势?

转载 作者:IT老高 更新时间:2023-10-28 21:59:30 28 4
gpt4 key购买 nike

嘿,如果我问的是琐碎的问题,请不要介意,但是,请有人帮我解决这个问题..

最佳答案

分为两部分:

  1. pread/pwriteread/write的区别:

    它们都处于同一级别,即系统调用。有两个区别:

    1. “p”变体采用偏移量进行读取,因此它们独立于当前文件指针。这样可以更轻松地同时从多个线程读取/写入。
    2. “p”变体仅适用于可搜索文件(即真实文件,而不是管道、套接字或设备)。
  2. read/pread/write/pwritefread /fwrite:

    “f”变体是前者的标准运行时包装器(使用基本变体)。它们支持进程内缓冲。这可以显着提高简单代码的性能,但它使用系统调用级别的其他功能是不切实际的。

仅当您对随机偏移读取有很好的用途时才使用“p”变体(避免搜索并允许通过一个文件句柄进行并发访问),这通常是某种数据库文件的情况(面向记录,记录位于已知的偏移量),在其他应用程序中很少见。

关于c++ - pwrite 和 pread 比 fwrite 和 fread 有什么优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7592822/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com