我正在尝试使用printf
语言String
C
进入Windows控制台。有什么方法可以将↑
或↓
个字符打印到输出中吗?
答案 0 :(得分:1)
如果您不介意使用WinAPI,请查看WriteConsoleW功能。它允许您将每个unicode字符打印到控制台。您可以使用L"character"
或MultiByteToWideChar获取字符的相应WCHAR表示。我建议第二个,因为它更便携,适用于运行时生成的字符串。
示例(来源必须以UTF-8保存):
#include <Windows.h>
int main()
{
const char* multibyte = "↑↓";
HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
WCHAR buffer[1024];
DWORD count;
DWORD written;
count = MultiByteToWideChar(CP_UTF8, 0, multibyte, strlen(multibyte), buffer, 1024);
WriteConsoleW(handle, buffer, count, &written, NULL);
printf("\n");
return 0;
}
答案 1 :(得分:0)
有两种可能性可以找到:
研究员方法:查找有关您正在使用的控制台的文档。查找有关其使用的字符集的文档,并找到一种方法来打印此字符集中存在的字符。
for(i=1; i < 256; i++)
{
printf ("%d: %c\n", i, i);
}
这应该会在您的控制台屏幕上为您提供所需的所有信息。
答案 2 :(得分:-1)
为错误的答案道歉。 经过一点点搜索,我发现了这个在线
https://answers.yahoo.com/question/index?qid=20131226030802AAnvC7n
for( i=0;i<256;i++)printf("%d %c\n ", i, ((char) i) );
printf("%c %c %c %c\n", 24,25,26,27); \\This gives those characters.
但是你可以让我知道你正在使用哪个编译器,因为它不是在所有编译器中打印箭头。