C++ std::wcout到Xcode中的控制台窗口
在Xcode项目中,如果我使用C++ std::wcout到Xcode中的控制台窗口,c++,xcode,macos,unicode,iostream,C++,Xcode,Macos,Unicode,Iostream,在Xcode项目中,如果我使用std::cout写入控制台,输出就可以了 但是,如果我使用std::wcout则不会得到任何输出 我知道这是一个棘手的C++问题,我一直在搜索Xcode案例中的一个特定的解决方案。我发现有人建议它应该起作用的几件事是: std::cout.imbue( std::locale("") ); 及 这两者都没有任何区别。在我决定在接下来的几周里学习facets API,以便能够编写控制台之前,我想我应该向这里尊敬的观众询问一下 [更新] 我认为我一直遇到的问题的原因
std::cout
写入控制台,输出就可以了
但是,如果我使用std::wcout
则不会得到任何输出
我知道这是一个棘手的C++问题,我一直在搜索Xcode案例中的一个特定的解决方案。我发现有人建议它应该起作用的几件事是:
std::cout.imbue( std::locale("") );
及
这两者都没有任何区别。在我决定在接下来的几周里学习facets API,以便能够编写控制台之前,我想我应该向这里尊敬的观众询问一下
[更新]
我认为我一直遇到的问题的原因实际上与我试图打印的一些字符串的特定编码有关
如果我只发送一个字符串文字,使用L“我的字符串”语法
就可以了!这似乎是使用UTF32-小端编码
<>但是,我已经将C++与NSFTF32 BigEndiaStrugDebug编码传递到Object C++代码中。正是这种混合编码导致了这些问题
我想我们可以考虑关闭这件事。感谢阅读。std::wcout应该像std::cout一样工作 以下内容在我的MAC电脑上运行良好:
#include <iostream>
int main()
{
std::cout << "HI" << std::endl;
std::wcout << L"PLOP" << std::endl;
}
#包括
int main()
{
谢谢你的回复。我想我已经找到了问题的原因-现在更新我的问题。。。
#include <iostream>
int main()
{
std::cout << "HI" << std::endl;
std::wcout << L"PLOP" << std::endl;
}
std::wcout << flush();
// or
std::wcout << endl; // Those also puts a '\n' on the stream.