重复,但仍然使用标准输出

2023-11-29

我可以施展一些魔法吗dup2 (or fcntl),这样我将 stdout 重定向到一个文件(即,写入描述符 1 的任何内容都会转到一个文件),但是如果我使用其他机制,它会转到终端输出吗?如此松散:

  int original_stdout;
  // some magic to save the original stdout
  int fd;
  open(fd, ...);
  dup2(fd, 1);
  write(1, ...);  // goes to the file open on fd
  write(original_stdout, ...); // still goes to the terminal

一个简单的调用dup将执行保存。这是一个工作示例:

#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>

int main()
{
  // error checking omitted for brevity
  int original_stdout = dup(1);                   // magic
  int fd = open("foo", O_WRONLY | O_CREAT);
  dup2(fd, 1);
  close(fd);                                      // not needed any more
  write(1, "hello foo\n", 10);                    // goes to the file open on fd
  write(original_stdout, "hello terminal\n", 15); // still goes to the terminal
  return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

重复,但仍然使用标准输出 的相关文章

  • GCC C++ (ARM) 和指向结构体字段的 const 指针

    假设有一个简单的测试代码 typedef struct int first int second int third type t define ADDRESS 0x12345678 define REGISTER type t ADDRE
  • 添加对共享类的多个 WCF 服务的服务引用

    我正在尝试将我的 WCF Web 服务拆分为几个服务 而不是一个巨大的服务 但是 Visual Studio Silverlight 客户端 复制了两个服务共享的公共类 这是一个简单的例子来说明我的问题 在此示例中 有两个服务 两者都返回类
  • 如何进行带有偏差的浮点舍入(始终向上或向下舍入)?

    我想以偏置舍入浮动 要么总是向下 要么总是向上 代码中有一个特定的点 我需要这个 程序的其余部分应该像往常一样四舍五入到最接近的值 例如 我想四舍五入到最接近的 1 10 倍数 最接近 7 10 的浮点数约为 0 69999998807 但
  • 当我单击 C# 中的“取消”按钮时重定向到新页面(Web 部分)

    Cancel button tc new TableCell btnCancel new Button btnCancel Text Cancel btnCancel Click new EventHandler btnCanel Clic
  • 处理 fanart.tv Web 服务响应 JSON 和 C#

    我正在尝试使用 fanart tv Webservice API 但有几个问题 我正在使用 Json Net Newtonsoft Json 并通过其他 Web 服务将 JSON 响应直接反序列化为 C 对象 这里的问题是元素名称正在更改
  • Linux TUN/TAP:无法从 TAP 设备读回数据

    问题是关于如何正确配置想要使用 Tun Tap 模块的 Linux 主机 My Goal 利用现有的路由软件 以下为APP1和APP2 但拦截并修改其发送和接收的所有消息 由Mediator完成 我的场景 Ubuntu 10 04 Mach
  • Guid 应包含 32 位数字和 4 个破折号

    我有一个包含 createuserwizard 控件的网站 创建帐户后 验证电子邮件及其验证 URL 将发送到用户的电子邮件地址 但是 当我进行测试运行时 单击电子邮件中的 URL 时 会出现以下错误 Guid should contain
  • try-catch 中未处理的异常

    try list from XElement e in d Descendants wix File where e Attribute Name Value Contains temp Name e Parent Parent Attri
  • 单元测试失败,异常代码为 c0000005

    我正在尝试使用本机单元测试项目在 Visual Studios 2012 中创建单元测试 这是我的测试 TEST METHOD CalculationsRoundTests int result Calculations Round 1 0
  • 通过不同 DLL 或 EXE 中的指针或引用访问 STL 对象时发生访问冲突

    我在使用旧版 VC6 时遇到以下问题 我只是无法切换到现代编译器 因为我正在处理遗留代码库 http support microsoft com kb 172396 http support microsoft com kb 172396
  • 组合框项目为空但数据源已满

    将列表绑定到组合框后 其 dataSource Count 为 5 但组合框项目计数为 0 怎么会这样 我习惯了 Web 编程 而且这是在 Windows 窗体中进行的 所以不行combo DataBind 方法存在 这里的问题是 我试图以
  • 用于从字符串安全转换的辅助函数

    回到 VB6 我编写了一些函数 让我在编码时无需关心字符串的 null 和 数字的 null 和 0 等之间的区别 编码时 没有什么比添加特殊情况更能降低我的工作效率了用于处理可能导致一些不相关错误的数据的代码 9999 10000 如果我
  • UWP 无法在两个应用程序之间创建本地主机连接

    我正在尝试在两个 UWP 应用程序之间设置 TCP 连接 当服务器和客户端在同一个应用程序中运行时 它可以正常工作 但是 当我将服务器部分移动到一个应用程序并将客户端部分移动到另一个应用程序时 ConnectAsync 会引发异常 服务器未
  • Qt - 设置不可编辑的QComboBox的显示文本

    我想将 QComboBox 的文本设置为某些自定义文本 不在 QComboBox 的列表中 而不将此文本添加为 QComboBox 的项目 此行为可以在可编辑的 QComboBox 上实现QComboBox setEditText cons
  • 32位PPC rlwinm指令

    我在理解上有点困难rlwinmPPC 汇编指令 旋转左字立即然后与掩码 我正在尝试反转函数的这一部分 rlwinm r3 r3 0 28 28 我已经知道什么了r3 is r3在本例中是一个 4 字节整数 但我不确定这条指令到底是什么rlw
  • gdb查找行号的内存地址

    假设我已将 gdb 附加到一个进程 并且在其内存布局中有一个文件和行号 我想要其内存地址 如何获取文件x中第n行的内存地址 这是在 Linux x86 上 gdb info line test c 56 Line 56 of test c
  • 同时从多个流中捕获、最佳方法以及如何减少 CPU 使用率

    我目前正在编写一个应用程序 该应用程序将捕获大量 RTSP 流 在我的例子中为 12 个 并将其显示在 QT 小部件上 当我超过大约 6 7 个流时 问题就会出现 CPU 使用率激增并且出现明显的卡顿 我认为它不是 QT 绘制函数的原因是因
  • 热重载时调用方法

    我正在使用 Visual Studio 2022 和 C 制作游戏 我想知道当您热重新加载应用程序 当它正在运行时 时是否可以触发一些代码 我基本上有 2 个名为 UnloadLevel 和 LoadLevel 的方法 我想在热重载时执行它
  • 在基类集合上调用派生方法

    我有一个名为 A 的抽象类 以及实现 A 的其他类 B C D E 我的派生类持有不同类型的值 我还有一个 A 对象的列表 abstract class A class B class A public int val get privat
  • 如何使用 std::array 模拟 C 数组初始化“int arr[] = { e1, e2, e3, ... }”行为?

    注意 这个问题是关于不必指定元素数量并且仍然允许直接初始化嵌套类型 这个问题 https stackoverflow com questions 6111565 now that we have stdarray what uses are

随机推荐

  • 绕过 NetBeans 6.5 中生成的代码的锁定?

    在 NetBeans 中 GUI Builder 生成的代码是您无法通过编辑器使用的 我知道您可以切换到设计模式并指定自定义代码 然后以这种方式间接输入编辑 但无法编辑距光标 2 行的文本是一件痛苦的事情 我可以允许在这些区域内进行编辑吗
  • 如何在CKEditor 5中启用图像上传支持?

    我将在我的项目中使用 ckeditor v5 我尝试使用图像插件 但没有找到足够的信息 如果你看到德莫here 您可以通过拖放轻松上传图像 但是 当我尝试使用下载 ballon zip 进行拖放图像时 没有任何反应 也没有错误 有没有办法在
  • 如何在 WildFly 10 中动态更改 JMS 队列 MDB 池大小

    我正在使用 WildFly 10 1 它随 Artemis 作为新的 JMS 提供程序提供 但我无法找到如何动态更改特定 MDB 的消费者线程数 我有一个队列和一个使用队列中消息的消息侦听器 MDB 现在我想动态控制域必须启动的最大消费者线
  • C# 在 VSTO 加载项中获取正在运行的 Outlook 实例

    我正在尝试在 Excel 加载项中获取 Outlook 应用程序对象 如果有正在运行的 Outlook 实例 它应该得到这一点 如果没有 它应该使用 Outlook 对象模型创建一个 这是我现在的代码 public static Outlo
  • 从Field中获取值,发送到db函数,将值返回到Field

    我有一个工作指示在马克西莫 工单应用程序具有自定义字段 FieldA 你好 FieldB 我想从中获取价值FieldA并将其传递给function在 Oracle 数据库中 CREATE OR REPLACE function hello
  • 连接被拒绝 postgres docker

    我用 spring boot spring jpa 数据制作了一个小应用程序 它连接到 dockerized postgres 实例 即使我尝试通过以下方式连接 它也工作得很好 psql 到 dockerized postgres 实例中
  • 自动选中 woocommerce 登录表单上的“记住我”框?

    如何自动选中 woocommerce 登录表单上的 记住我 框 p class form row p
  • 在 Windows XP 中将剪贴板传递给批处理

    使用 Windows XP 我想将文本 URL 复制到剪贴板 然后运行将使用该 URL 的批处理文件 我知道如果 Clip exe 漂浮在周围 则相反的情况也是可能的 我用我自己的CLIPTEXT程序 这是一个非常简单的 5 行 pasca
  • 将命令的输出存储在 Bash 变量中。输出正在运行而不是存储

    我试图将 Bash 中命令的输出存储在变量中 但不是存储输出 而是将其解释为命令并运行 那不是我想要的 tmp line awk print 1 这将运行输出awk作为命令 echo line awk print 1 这会打印出我想要存储在
  • Oreo 8.0 中的推送通知问题

    将应用程序更新到 8 1 后 未显示通知 我修复了它 现在 待处理的意图没有按预期工作 收到通知后 如果应用程序在后台 我将无法导航到该应用程序 并且如果它已关闭 则不会启动 private void sendNotify String m
  • Yaml 架构验证 powershell

    我正在与powershell yaml将我的 YAML 解析为 PowerShell 对象 目前 我在验证 YAML 架构时遇到问题 我用过这个包yaml 架构验证器对于我的 javascript 项目 我找不到任何熟悉的函数 模块来帮助我
  • 使用 Python 中的 PIL 或 OpenCV 将图像粘贴到两个给定坐标处的另一图像,并更改不透明度

    我有两个具有给定点的图像 每个图像一个点 需要对齐 以便结果图像是两个图像的总和 而图像 2 以 40 的不透明度粘贴在图像 1 上 我已经采取了这个question考虑在内 但我们的情况并不完全匹配 因为图像坐标是由用户提供的 并且图像可
  • Linux 中从 EBCDIC 到 UTF8 的转换

    我已经使用 Perl 从我们的数据库 AS 400 DB2 导入了一个表 问题在于该字符串是用 EBCDIC Latin 1 意大利语 编码的 如何在 Linux bash 中将生成的文件转换为纯 utf 8 从 开始 iconv f EB
  • 使用 XML 文件将 url 参数传递给 Zend_Navigation

    我正在使用 Zend Framework 1 10 8 我想在我的layout phtml 中创建一个面包屑部分 我的菜单中有一些链接具有动态 url 参数 例如http mydomain com editor edit id 42 我试图
  • 在 Python 中复制 Javascript 按位运算

    我正在尝试在 Python 中复制一个简单的按位 Javascript 操作 Javascript gt 0xA867Df55 2825379669 gt 0xA867Df55 0 1469587627 Python gt gt gt 0x
  • WP7 可以发送 HTML 邮件吗?

    WP7 可以发送 HTML 电子邮件吗 我可能忽略了它 但 EmailComposeTask 中似乎没有用于指定这一点的参数 尽管该设备能够接收和显示 HTML 电子邮件 EmailComposeTask不提供 API 来让您发送 HTML
  • openpyxl - 能够从图表中删除边框吗?

    使用 openpyxl 插入到我的工作表中的图表有边框 有没有办法通过 styles Style styles borders 模块将图表 饼图 条形图 的样式设置为没有边框 或者至少设置一个细白色边框 以便它们可以无边框打印 我在该对象上
  • 目前 Windows 上的 Git 存在哪些问题

    我想下载 msysgithere 它这样说 msysGit 项目没有足够的贡献者来提供商业级支持 如果您没有办法解决您的问题 可能有来自 msysGit 邮件列表的宝贵建议 或者吸引人们谁能解决它们 你的问题就不太可能得到解决 这听起来令人
  • 使用预编译的 Azure 函数库生成错误

    最近 我转换了一个使用 C 脚本的 Azure 函数 csx 到预编译的类库 使用适用于 Azure Functions 的 Visual Studio Studio 工具 它在 Visual Studio 2017 中成功构建 以及运行和
  • 重复,但仍然使用标准输出

    我可以施展一些魔法吗dup2 or fcntl 这样我将 stdout 重定向到一个文件 即 写入描述符 1 的任何内容都会转到一个文件 但是如果我使用其他机制 它会转到终端输出吗 如此松散 int original stdout some