c - C 终端中的颜色 (Windows)
问题描述
所以,我正在制作一个程序,用户可以在终端上玩纸牌,但是我希望终端为每个“卡片”显示不同的颜色。也许是这样的:
printf("%c - %c", (red)ten_clubs, (white)ace_spades);
我已经查找了这个问题的一些答案,但是他们使用仅适用于 UNIX 的解决方案来处理它,而我目前正在 Windows 上使用 Dev-C++ 进行开发。
我真的不知道如何按照这些思路做出一些事情,所以如果有人可以帮助我,我将非常感激
解决方案
至少有两种方法可以做到这一点。
如果您打算将代码移至 Unices,则可以使用pdcurses使其具有一点可移植性。
或者
您可以使用Win32 控制台 API,这需要一些学习才能开始。就像是:
HANDLE h_stdout;
h_stdout = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(h_stdout, FOREGROUND_RED);
printf("%c", ten_cubs);
SetConsoleTextAttribute(h_stdout, FOREGROUND_WHITE);
printf("%c" ace_spades);
这应该给你一个想法。
推荐阅读
- api - 在 hmvc codeigniter 中使用用户授权时为 API 测试设置 Postman
- jakarta-ee - 修复 'java.lang.NoSuchMethodError: sun.security.ssl.SSLSessionImpl'
- node.js - Passport 序列化和反序列化与 JWT
- file - 在 CodeSys 中使用 Concat 时输出奇怪的文件
- android - 如何修复片段中的工厂监听器?
- sql - 学说大查询性能
- python - 无法将单个 str 转换为 Int
- laravel-5 - 在 Laravel 5.7 中,如何在内核中覆盖 Tymon Jwt-Auth 中间件?
- ios - Xcode:“GameView”类型的值没有成员“view”
- android - 在 3 种背景颜色之间转换