首页 > 解决方案 > 为什么我的 C++ 代码输出的是 NSString 文字而不是纯文本?

问题描述

我知道这个问题看起来很奇怪,因为 NSString 在 C++ 中不存在。然而,由于某种原因,当我运行以下代码时:

#include <iostream>

int main() {
    std::cout << "Hello, World!" << std::endl;
    
    return 0;
}

我看到以下输出:

@"Hello, World!\r\n"

C 函数printfputs显示出类似的行为。如果我将文本存储为 astd::string然后显示它,我也会看到相同的输出。

我什至不知道如何开始对此进行故障排除。到底是怎么回事?

标签: c++objective-c

解决方案


我前一阵子想通了,但我忘记了自己的问题。

在调试窗口中,它只显示这样的输出。它只会在调试模式下被格式化;如果我编译它并从命令行运行可执行文件,那么它会按预期工作。


推荐阅读