stdout 相关问题

标准输出流(stdout)是程序写入其输出数据的流。

为什么没有<< overload for printing std::byte?

以下代码无法在 C++20 中编译 #包括 #包括 int main(){ std::byte b {65}; std::cout<<"byte: "< 以下代码无法在 C++20 中编译 #include <iostream> #include <cstddef> int main(){ std::byte b {65}; std::cout<<"byte: "<<b<<'\n';// Missing overload } 当C++17中添加std::byte时,为什么没有相应的operator<<重载来打印它?我也许可以理解不打印容器的选择,但为什么不呢std::byte?它尝试充当原始类型,我们甚至对 std::string、最近的 std::string_view 和 也许是最相关的 std::complex、 和 std::bitset 本身进行了重载。 还有 std::hex 和类似的修饰符,因此默认打印 0-255 应该不是问题。 这只是疏忽吗? operator>>呢,std::bitset都有,而且一点也不小。 编辑:发现甚至可以打印std::bitset。 来自std::byte(P0298R3)的论文:(强调我的) 设计决策 std::byte 不是整数也不是字符 这里的关键动机是使字节成为一种独特的类型——通过利用类型系统来提高程序安全性。这就导致了std::byte的设计不是整数类型,也不是字符类型。它是一个独特的 用于访问最终构成对象存储的位的类型。 (强调我的) 因此,不需要隐式转换/解释为 char 或任何整数类型,因此不能使用 std::cout 打印,除非显式转换为所需类型。 此外,请参阅如何在需要旧式 unsigned char 的地方使用新的 std::byte 类型?. std::byte 用于访问原始数据。为了让我能够用实际上说“这是原始且未解析的”的东西来替换遍布代码库的该死的uint8_t,而不是可能被误解为 C 字符串的东西。 强调:std::byte并不“试图成为一个原始人”,它代表了一些甚至更少的东西 - 原始数据。 它的实现方式主要是 C++ 和编译器实现的一个怪癖(“原始”类型的布局规则比结构或类简单得多)。 这种事情主要出现在低级代码中,老实说,不应该使用打印。 有时不可能。 例如,我的用例是通过 I2C(或 RS485)接收原始字节并将其解析为帧,然后将其放入struct中。为什么我想在实际数据上序列化原始字节?我几乎可以立即访问数据? 总结一下这个有点啰嗦的答案,为 std::byte 提供运算符重载以与 iostream 一起使用违背了这种类型的意图。 而尽可能在代码中表达意图是现代编程的重要原则之一。

回答 2 投票 0

在 Go 中,如何将函数的 stdout 捕获到字符串中?

例如,在Python中,我可以执行以下操作: realout = sys.stdout sys.stdout = StringIO.StringIO() some_function() # 打印到标准输出并在 StringIO 对象中捕获 结果 = sys.stdout.get...

回答 5 投票 0

如何在 shell 脚本中输出到控制台和文件?

我在Linux中有shell脚本,如下所示 #!/bin/bash LOG_LOCATION=/home/$USER/logs exec >>(tee /home/$USER/logs/"$1") 2>&1 [ $# -ne 1 ] && { echo "用法:$0 表";exit 1; }

回答 2 投票 0

如何使脚本在不同位置获得不同的标准输出返回?

从“https://deno.land/[email protected]/path/mod.ts”导入 * 作为路径; 异步函数 getStdout() { const dirname = path.dirname(path.fromFileUrl(import.meta.url)) const cmd = 新 Deno。

回答 1 投票 0

Python3 - 重定向的 stderr 未正确重置?

我编写了一个函数,可以在执行其他函数时将 stdout 和 stderr 捕获到字符串中。一开始似乎可以工作,但是有一个问题,stderr 没有正确重置......

回答 1 投票 0

如何将 model.summary() 保存到 Keras 中的文件?

Keras 中有 model.summary() 方法。它将表打印到标准输出。可以将其保存到文件吗?

回答 3 投票 0

Dart 不缓冲进程标准输出(告诉进程它正在从终端运行)

我正在尝试在 dart 中运行二进制文件宽度 Process.start 并将其输出重定向到 stdout 并将 stdin 传输到进程。 这是我的代码: 导入 'dart:io'; 导入'dart:转换'; main() 异步...

回答 3 投票 0

在 Julia 中使用 nohup 会打印出所有内容,就好像它是 REPL 一样。这可以避免吗?

假设我有一个名为 myscript.jl 的 Julia 脚本。它包含以下代码: x = 3 当我使用 nohup 调用此脚本时: nohup 朱莉娅 < myscript.jl > out_myscript.log & 我明白了...

回答 1 投票 0

为什么我的输出在通过管道传输到从标准输入获取输入的程序后不能保持完整性?

当我尝试将某些输出传输到 shell 中的另一个命令时,我的输出被损坏。当我单独执行可执行文件或将其输出重定向到无法执行的程序时,不会发生这种情况...

回答 1 投票 0

'app --help' 应该转到 stdout 或 stderr?

我认为stdout,这样你就可以轻松地grep,你觉得怎么样?

回答 5 投票 0

restic如何将数据输出到屏幕而不输出到stdout或stderr?

我有一个关于某个命令的输出去向的问题。我使用 Restic 作为具有这种行为方式的命令的示例。这是我感兴趣的命令的最后一行,

回答 1 投票 0

创建管道但稍后读取其标准输出

我创建了用于读取的管道(在 C 中使用 popen)并使用 fgets 读取其输出 - 并且效果很好。 但现在我需要两项改进,并且不确定如何继续 - 大多数答案都相对较旧,也许

回答 2 投票 0

如何在 elisp 中捕获 shell 命令的标准输出?

我想在 Emacs 中运行 shell 命令并将完整输出捕获到变量中。有没有办法做到这一点?例如,我希望能够在以下

回答 2 投票 0

Python日志检查是否发生错误

我用 logging.basicConfig(format='%(levelname)s %(asctime)s %(message)s', level=logging.INFO) 激活 INFO 日志记录和更高的日志记录级别。 是否有可能在我的

回答 1 投票 0

如何使用 Quart Python 停止将访问日志记录到标准输出

我有用 Quart python 编写的微服务。我想停止登录到标准输出。到目前为止,我已经尝试过 app.logger.disabled = True 和 Flask 类似的方法 导入日志记录 日志 =logging.getLogger('werkz...

回答 2 投票 0

将子进程标准输出转换为 Ngrok 的变量

我正在尝试制作一个Python脚本,当我在终端上运行代码时(将ngrok可执行文件移动到/usr/local/bin之后),它报告0.tcp.ngrok.io上的端口已启动 恩格罗克 TCP 22 我明白了...

回答 3 投票 0

为什么我的代码输出“2467135”而不是“1234567”?

我对以下代码有疑问。为什么代码的输出变成了2467135?它首先给出我自己的函数的输出,然后是 write 函数的输出,最后是 printf 函数的输出......

回答 1 投票 0

如何线程安全地捕获函数调用的 stdout 输出?

我有一个程序现在可以获取 REST API。我想我不会重写一堆代码,而是运行程序,捕获打印并将其放入消息响应中。 关于如何捕捉

回答 1 投票 0

配置python输出编码的正确方法是什么?

我正在从 csv 读取 utf-8 编码文本,进行一些解析,然后输出到文本文件。我使用批处理文件间接输出到文本文件。目前我正在使用 print() 来...

回答 2 投票 0

写入 std::io::stdout() 时输出不可见

我想使用一个实现 std::io::Write 的结构来输出内容。 我使用 std::io::stdout() 进行测试,但即使缓冲区写入成功,我也看不到输出内容。 #[测试]

回答 1 投票 0

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.