试图显示 • œ,以及类似于 C++ 中仅带有 g 的符号

Trying to display • œ, and the symbol that's like @ only with a g in C++

我正在编写一个小型控制台程序并试图让它显示这些字符。我有 returns 一个根据作为参数传递的值显示的字符的功能,但无法让它显示字符。从我读过的东西中,我尝试返回 '\u2022' 作为项目符号,因为这是我在网上看到的任何地方都可以找到的值,尝试将字符复制粘贴到源代码中,并弄乱代码块中的编码设置但仍然没有得到任何地方。我得到了一个上面有 ' 的 o,但这是我最接近的。

有人可以解释一下如何执行此操作或我应该使用哪些数字表示形式以及在哪里可以找到它们吗?

Windows 对控制台 input/output 的 Unicode 支持有限。您的 Code::Blocks 设置可能使用的 MingGW-32 存在其他问题。你必须直接使用WriteConsoleW

#include <iostream>
#include "windows.h"

//ελληνικά    
void myprint(const wchar_t* str)
{
    HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE);
    WriteConsoleW(h, str, wcslen(str), NULL, NULL);
}

int main()
{
    myprint(L"œ\n");
    return 0;
}

注意,我在代码中添加了一些希腊文本以强制对 *.cpp 文件进行 UTF8 转换,以支持保存 "œ"(顺便说一句,Windows API实际使用UTF16)

这仍然不适用于某些亚洲语言。您还可以添加自己的 << 运算符覆盖,使其符合 C++ 外观。