[这是我的第一篇文章。请不要吞噬我]没有控制台输出的彩色文本?
嘿,偷看!
我很新(如短短几个小时),以C++
我没有学过任何其他的“高”的语言呢,我做的大多数事情在Windows CMD, 和与它的是相当知现在控制台,但缺乏功能驱使我在别的地方。因此,为了学习C++,我目前正在使用Sololearn并且只是研究,刚刚从批处理中移植一些小的项目,我不想使用GUI或扩展,我正在使用CodeBlocks来完成控制台应用。
现在我的问题;
我正要做着色文字整齐的功能,我修改了一个片段(这里找到:Source)到这个位置:
void colorText(string ct, int col)
{
HANDLE hConsole;
hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
FlushConsoleInputBuffer(hConsole);
SetConsoleTextAttribute(hConsole, col);
cout << ct;
SetConsoleTextAttribute(hConsole, 15); //set back to black background and white text
}
这实际上是工作好了, 与调用它
colorText("This my Text",12);
例如, 芹苴,我得到它丑陋的控制台输出,它看起来像这样:
CMD.EXE was started with the Path given above as the current Directory.
UNC-Paths aren't supported.
The Windows - Directory will be set as current Directory.
现在,没有任何人有一个想法如何避免这种情况,通过使用不同的技术为着色,或静音控制台窗口?我也很感激,如果有人知道也许有些地方学习C++有点更专业,教程网站..
我很感激所有帮助,
真诚clragon
我很确定这个输出与颜色无关,只是由Code :: Blocks启动终端的方式引起的。它是否也出现在简单的“Hello World”上? – Quentin
@Quentin不,实际上不是。 它的正常输出是运行时间和“按任意键” 颜色功能添加上面的那些,我测试了通过评论该调用。 – clragon
如果你想学习,不要从最糟糕的IDE开始。下载[Visual Studio Community](https://www.visualstudio.com/vs/community/)并从此处下载。 Code :: Blocks的默认设置较差,这是一种阻碍构建应用程序的倾向,而且几乎不受支持。 – IInspectable