这是this question的副本。我遵循了建议(我认为)并包含了<string>,但是我的脸上却抛出了完全相同的错误:


#include <string>
#include <iostream>

using namespace std;

int main() {
    string texte;
    texte = "pouet";
    wcout << texte << endl;
    return 0;
}

编辑:我一点都不骄傲地说这个问题是由于我没有选择正确的项目作为“启动项目”而引起的。 Visual Studio有点难以理解……但是,最初的实际问题涉及我的实际项目,并且涉及无法通过wcout输出的标准字符串。我重新格式化了问题,以相应地重新定位主题。如你所愿对我投反对票,我应得的…

最佳答案

这可以在我的CLion上使用最新的MinGW编译并正常运行

#include <string>
#include <iostream>

using namespace std;

int main() {
    string texte;
    texte = "pouet";
    cout << texte << endl;
    return 0;
}

对于wcout,又名宽字符串,这应该提供正确的输出:
#include <string>
#include <iostream>

using namespace std;

int main() {
    wstring texte;
    texte = L"pouet";
    wcout << texte << endl;
    return 0;
}

cout输出“常规”字符串,其字符长度为1个字节(通常为ASCII),而wcout用于“宽”字符串,该字符串由表示形式超过1个字节的字符组成。

10-04 17:56