找回密码
 立即注册
查看: 1192|回复: 7

C++控制台输出彩色文字源码

[复制链接]

587

回帖

682

基友

5877

积分

死神左手

Rank: 16Rank: 16Rank: 16Rank: 16

发表于 2013-8-2 14:23:03 来自手机 | 显示全部楼层 |阅读模式
#include <iostream>

#include <Windows.h>

#include <stdio.h>

#include <stdarg.h>



using namespace std;



void cprintf(char* str, WORD color, ...);



int main() {

    cprintf("H", 10);

    cprintf("e", 9);

    cprintf("l", 12);

    cprintf("l", 11);

    cprintf("o", 13);

    cprintf(" ", 10);

    cprintf("W", 15);

    cprintf("o", 2);

    cprintf("r", 5);

    cprintf("l", 8);

    cprintf("d", 14);

    cprintf("!", 4);

    return 0;

}



void cprintf(char* str, WORD color, ...) {

    WORD colorOld;

    HANDLE handle = ::GetStdHandle(STD_OUTPUT_HANDLE);

    CONSOLE_SCREEN_BUFFER_INFO csbi;

    GetConsoleScreenBufferInfo(handle, &csbi);

    colorOld = csbi.wAttributes;

    SetConsoleTextAttribute(handle, color);

    cout << str;

    SetConsoleTextAttribute(handle, colorOld);

}
回复

使用道具 举报

7657

回帖

86万

基友

34万

积分

天下一番

Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

伯爵荣耀

发表于 2013-8-2 17:31:36 | 显示全部楼层
所有cout之类要输出的语句前先调用SetConsoleTextAttribute就好
回复 支持 反对

使用道具 举报

53

回帖

418

基友

724

积分

通神2段 Lv.5

Rank: 3Rank: 3

发表于 2013-8-3 18:05:02 | 显示全部楼层
开起来用的好像是 VC6
回复 支持 反对

使用道具 举报

99

回帖

114

基友

364

积分

凡人3阶 Lv.3

Rank: 2

伯爵荣耀

发表于 2013-8-5 07:25:16 | 显示全部楼层
回复 支持 反对

使用道具 举报

头像被屏蔽

62

回帖

122

基友

87

积分

禁止发言

伯爵荣耀

发表于 2013-8-18 14:41:03 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

5895

回帖

118

基友

1万

积分

苍海之魂

invincible

Rank: 13Rank: 13Rank: 13Rank: 13

发表于 2013-8-20 16:44:23 | 显示全部楼层
我竟然看懂了
回复 支持 反对

使用道具 举报

5895

回帖

118

基友

1万

积分

苍海之魂

invincible

Rank: 13Rank: 13Rank: 13Rank: 13

发表于 2013-8-20 16:47:08 | 显示全部楼层
不过最后一个...是干什么用的这里也用不到可变参数啊
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|苍海国际 ( 鲁ICP备13020644号-1 )

GMT+8, 2024-11-22 07:05 , Processed in 0.043266 second(s), 23 queries .

Powered by Discuz! Theme By eRic Modified by 4bpa

© CangHai International We Do Our Rights!

返回顶部