我目前正在编写一个涉及数学的 C++ 程序。因此,我试图将某些对象表示为在其类的 wstring 成员变量中具有下标数字。然而,以任何容量存储这些字符的尝试都会迫使它们成为非下标对应物。相比之下,粘贴在代码中的字符的直接使用可以根据需要保留。以下是我试验过的几种情况:
setlocale(LC_ALL, "");
wchar_t txt = L'\u2080';
wcout << txt << endl;
myfile << txt << endl;
Run Code Online (Sandbox Code Playgroud)
这将向文件和控制台输出“0”。
setlocale(LC_ALL, "");
wcout << L"x??" << endl;
myfile << L"x??" << endl;
Run Code Online (Sandbox Code Playgroud)
这会将“x01”输出到文件和控制台。
setlocale(LC_ALL, "");
wcout << "x??" << endl;
myfile << "x??" << endl;
Run Code Online (Sandbox Code Playgroud)
这输出“xâ'?â'?” 到控制台,如果可能的话我想避免,还有“x??” 到我想要的文件。理想的程序状态是将属性输出到文件和控制台的状态,但如果不可能,那么最好将非下标字符打印到控制台。
我的代码打算将整数转换为其相应的下标。我如何尽可能顺利地操纵这些字符而不将它们转换回来?我怀疑字符编码起了一定作用,但我不知道如何将 Unicode 编码合并到我的程序中。