c++ - 打印 char 时的 printf 奇怪行为 - LLDB 调试器

标签 c++ printf lldb

在为我的 iOS Xcode 项目使用静态 C++ 库时,我遇到了 printf 和 Xcode LLDB 调试器的奇怪行为,有时是 printf("%s", char*) 的打印结果是与数字或垃圾字符连接的字符。所附图片不言自明。有什么想法吗?

enter image description here

最佳答案

似乎按预期工作。 %s 需要以 NUL 结尾的字符串,即对于给定的 char*,打印第一个 '\0' 之前的任何内容。如果您希望您的数组适合 %s,则必须分配 5 个字节并分配 a[4]=0;

关于c++ - 打印 char 时的 printf 奇怪行为 - LLDB 调试器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14389595/

相关文章:

c++ - C++ 中成员的枚举成员,或替代

c++ - 禁用/启用 QCheckBox 文本

c# - 如何在 Windows 10 上安装 GCC 以便在 VS2017 中使用

c++ - uint_fast16_t 的 sprintf 格式?

shell - printf 格式字符串中的变量插值与替换

c - 使用指针的差异与 printf ("%.*s")

c - 如何使用 lldb 在函数中查找静态变量?

c - GDB 和 LLDB 都无法在简单的 C 文件中可靠地执行断点命令

c++ - 为什么在#include <string>之后仍需要使用std::string?

python - `tiny_malloc_from_free_list` 使我的指针成为 `NULL` ?