gpt4 book ai didi

打印一半内容后printf可以挂起吗

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:24:09 25 4
gpt4 key购买 nike

printf 可以在打印输出的过程中暂停吗?如果是,有人可以为我提供相关背景信息。例如

printf() 是否有可能打印printf("Hello World\n")

首先打印"H"然后睡 10 秒,然后打印 "ello World"

最佳答案

是的,这是可能的。由于您使用的是 printf(而不是 fprintf),因此输出将放置在标准输出上,现在如果您将输出重定向到阻止写入的文件/设备,那么这对 printf 的简单调用可以休眠例如10 秒。

场景:

  • 创建 echo.c:

    #include <stdio.h>
    main() {
    printf("Hello World\n");
    }
  • 创建一个命名的 fifo:

    mkfifo fifo
  • 编译echo.c:

    make echo
  • 运行 echo 并将其输出重定向到 fifo:

    ./echo > fifo
  • 这会阻塞直到其他进程读取 fifo 文件,因此 10 秒后在不同的 shell 中运行:

    cat fifo
  • 只有这样 echo 程序才能继续并将“Hello World\n”写入 fifo 文件

关于打印一半内容后printf可以挂起吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16894759/

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