gpt4 book ai didi

c++ - 使用 lldb 打印带换行符的字符串

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:51:57 24 4
gpt4 key购买 nike

我想打印一个字符串,const char*std::string,使用 lldb 以便它是人类可读的。最重要的是,\n 将作为换行符打印。有谁知道如何做到这一点?我尝试了在 this post 中为 gdb 提供的建议,但是它似乎不适用于 lldb。

编辑:我知道您可以发出 print myString 命令来打印字符串,但是它不会格式化换行符(至少默认情况下不会):

最佳答案

大多数时候您希望看到字符串的文字内容,因此 lldb 的默认打印行为是正确的。但是,如果有一个格式选项可以像标准库处理字符串一样“呈现”输出,那将很有用。这基本上就是 gdb“printf”命令的内容。请向 lldb.llvm.org 错误报告者提交错误请求。

就像使用 gdb 一样,您可以获得标准库来为您呈现文本:

(lldb)  expr (void) printf("Some text\nMore text\nEven more text\n")
Some text
More text
Even more text
(lldb)

在这种情况下,我将其强制转换为 void,因为我不关心返回值,这让文本更难看清。

正如在您提到的帖子中所指出的,如果您的输出没有到达某个终端,那是没有帮助的,因此一些明确的“呈现输出”选项也是一个好主意。但这只有在您在调试器中附加而不是运行您的程序时才会发生。

关于c++ - 使用 lldb 打印带换行符的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34278238/

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