主要是作用于控制台文本下划线和改变文本颜色 #include "pch.h" #include <iostream> #include <Windows.h> #include <stdio.h> typedef CONSOLE_SCREEN_BUFFER_INFOEX CSBI; void test1() { printf("Code 1:\n"); HANDLE out = GetStdHandle(STD_OUTPUT_HA…
SetConsoleTextAttribute函数 来源:https://msdn.microsoft.com/en-us/library/windows/desktop/ms686047(v=vs.85).aspx 作用 设置控制台文本输出属性. 语法 BOOL WINAPI SetConsoleTextAttribute( _In_ HANDLE hConsoleOutput, _In_ WORD wAttributes ); 参数 hConsoleOutput 控制台屏幕缓冲区的句柄 wA…
控制台API函数 调用相关文本界面控制的API函数,这些函数可分为三类. 一.用于控制台窗口控制的函数(包括窗口的缓冲区大小.窗口前景字符和背景颜色.窗口标题.大小和位置等): 二.用于控制台输入输出的函数(包括字符属性操作函数): 三.其他的函数并为最后一类. (注意:当不需要使用句柄时需要调用CloseHandle()来关闭输入输出句柄,就像malloc申请的内存空间最后需要用free函数释放掉一样,后面会介绍CloseHandle的具体使用方法) 可以理解为句柄就是一种资源,就像内存一样,…
1. #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> #include <stdlib.h> #include <windows.h> int main() { HANDLE handle; //WORD wOldColorAttrs; //CONSOLE_SCREEN_BUFFER_INFO csbiInfo; handle = GetStdHandle(STD_…
http://www.cnblogs.com/vanver/archive/2013/06/13/NO-2013_06_13pm.html 播客开篇,讲讲废话:本篇播客只是推荐给热与钻研的同学们....见名知意?!你知道几个? 这只是我收藏的,没事的时候去...code几个. 收藏下,保存起来自己在后面添加:注解是个不存的选择 API Set API encompassed by API Set api-ms-win-core-com-l1-1-0.dll CLSIDFromProgID CLS…
GTest为google开源的白盒单元测试跨平台测试框架,含丰富的断言.类型参数化测试.死亡测试.以及其他的测试选项设置.文件保存等,以下将对该项目C++的实现进行简要的分析,作为学习记录备份. 基本上内部使用了大量的宏.模板,因此在分析源码时跟踪会比较麻烦,这也是有的开发项目团队不推荐使用宏.模板等,但即使如此,宏与模板的强大功能仍然是学习和开发紧凑的源码的有力武器,此外GTest也使用了C++语言和VC编译器的某些特性(类的静态成员.全局变量的初始化)(令人有点儿XXX的感觉). 在分析源码…
1      何为C++对象模型 C++对象模型可以概括为以下2部分: 1.语言中直接支持面向对象程序设计的部分: 2.对于各种支持的底层实现机制 语言中直接支持面向对象程序设计的部分,如构造函数.析构函数.虚函数.继承(单继承.多继承.虚继承).多态等等,这里我简单过一下,重点在底层实现机制. 在C语言中,“数据”和“处理数据的操作(函数)”是分开来声明的,也就是说,语言本身并没有支持“数据和函数”之间的关联性.在C++中,通过抽象数据类型(abstract data type,ADT),在类…
搬家首发!!! 其实从初一我就写过一些小型战斗的游戏,但是画面都太粗糙,代码也比较乱,也就是和两三个同学瞎玩,但自从观摩了PoPoQQQ大神的游戏,顿时产生了重新写一部游戏的冲动,于是各种上网查找各种码代码,也搞出了这么一款相对还算"精致"的小游戏,并且更新了几个版本,趁着博客搬家了发一下 Orz PQ大神:http://blog.csdn.net/popoqqq/article/details/47193903 /***********************************…
在C++控制台应用程序中可以控制控制台输出的字体颜色和 接受任意按键退出 #ifndef CONSOLE_UTILS_H #define CONSOLE_UTILS_H #include <windows.h> #include <conio.h> #include <iostream> //default text colors can be found in wincon.h inline void SetTextColor(WORD colors) { HANDL…
双十一要到了,好激动啊!!! 是时候准备出手了! 花了一天的时间写的表白代码. 表示自己弱弱的.....   看了网上好多都是js写的,感觉碉堡了!js用的不熟,前端不好,java,Python写起来一定很顺手吧,但是还是决定用c写一下,简单的界面,大神路过不喜勿喷.下面和大家一起分享一下! 代码如下: 顺便所以下:如果在windows上运行该代码,需要pthread库,我用的Dev c++写的,自己装上了这个库! 运行程序下载:http://files.cnblogs.com/files/hu…
2015-04-21 10:54:43 #include <windows.h> #include <iostream> using namespace std; #define Color_count 15 //void SetColor(unsigned short ForeColor = 3, unsigned short BackgroundColor = 0) void SetColor(int color) { || color >= ) return; stat…
Kernel.cs using System; using System.Runtime.InteropServices; using System.Text; using HANDLE = System.IntPtr; using HWND = System.IntPtr; namespace Win32 { public struct OVERLAPPED { public int Internal; public int InternalHigh; public int offset; p…
原文链接:吴秦大神的C++对象模型. 何为C++对象模型? C++对象模型可以概括为以下2部分: 1.语言中直接支持面向对象程序设计的部分: 2.对于各种支持的底层实现机制. 语言中直接支持面向对象程序设计的部分,如构造函数.析构函数.虚函数.继承(单继承.多继承.虚继承).多态等等.本文重点介绍底层实现机制. 在C语言中,“数据”和“处理数据的操作(函数)”是分开声明的,也就是说,语言本身并没有支持“数据和函数”之间的关联性.在C++中,通过抽象数据类型(Abstract Data Type,…
将之前的内存查看单元小幅修改,加上文件操作和计时,组成了一个自用debug单元,使用方法如示例. 此单元便捷之处在于直接将#define DEBUG注释掉而无需改动源码,即可取消debug模式. #define DEBUG stdi|fileo #include "debug.h" using namespace debug; int main() { char str[] = "jiji"; println("this is a %s", st…
笔者的一个自动化测试平台项目,采用了python作为后端服务器语言.项目基于快速成型目的,写了一个极其简陋的日志记录功能,支持日志记录到文件和支持根据日志级别在终端打印不同颜色的log.但随着测试平台上线运行,发现日志文件大小急剧膨胀,运行一段时间,往往一个log能有几个G大小,而且也不能根据日期查看日志内容.基于根据文件大小和日志实现日志分割,在下查阅了不少前辈的资料,不断尝试,终于得出一个可以用的demo,在此分享也做个记录,不足之处,还望指正. 这是本人工作前辈的初始版本: #!/usr/…
前言: 想起来做这个是因为那时候某天知道了原来黑框框里面的光标是可以控制的,而且又经常听人说起这个,就锻炼一下好了. 之前就完成了那1.0的版本,现在想放上来分享却发现有蛮多问题的,而且最重要的是没什么注释[果然那时候太年轻]!现在看了也是被那时候的自己逗笑了,就修改了一些小bug,增加了算是详尽而清楚的注释,嗯,MSDN上面对各种函数的解释很详细的[又锻炼一下英语],顺便让开头和结尾的展示“动”了起来,就当作1.5的版本好了. 这个只是给出了一个实现的思路,其中肯定也有很多不合理的地方和可优化…
关于socket的文章,园子里面有很多,其实无非就是 WSAStartup.socket.bind.listen.accept.recv.send(服务端),WSAStartup.socket.connect.send.recv(客户端)的使用.今天第一次看socket,也只学会了socket阻塞模式,即一个服务端对一个客户端,别的客户端想连接也连接不上--个人理解,不知道对不对. 为了解决一(服务端)对多(客户端)的问题,自作聪明在服务端用上了多线程.初步效果还不错: 我晕,1080P的笔记本…
http://www.skywind.me/blog/archives/1029 http://blog.csdn.net/skywind/article/details/8164713 https://github.com/skywind3000/gobang gobang Gobang game with artificial intelligence in 900 Lines !! How to play Download: git clone https://github.com/sky…
前些时候考完试自己编的带有胜负判定的五子棋. 操作方法:WSAD或↑↓←→移动下棋位置,Space或Enter放置. 如果游戏出现bug,欢迎大家在评论区反馈. #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #include <math.h> #include <algorithm> #include <conio.h&g…
C语言写贪吃蛇本来是打算去年暑假写的,结果因为ACM集训给耽搁了,因此借寒假的两天功夫写了这个贪吃蛇小项目,顺带把C语言重温了一次. 是发表博客的前一天开始写的,一共写了三个版本,第一天写了第一版,第二天写了第二版和第三版. 相信C语言写个小游戏或小项目是大多数计算机相关专业的学生都做的事情,但是作为一个数学专业的学生,我们教研室的老师对C语言的要求也就比较低了,大一没有让我们做个小项目实践一次.至今为止用C/C++做过的三个小项目(大作业),一个是外校同学让我帮忙写的学生信息管理系统(天呐,这…
// test.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <windows.h> #include<conio.h> void SetColor(unsigned short ForeColor,unsigned short BackGroundColor) { HANDLE hCon=GetStdHandle(STD_OUTPUT_HANDLE); WORD wr ; //这里可以自己把握 swi…
简单的下一百层的c++实现,代码一晚上就码完了 注意:游戏前请在 默认值 或 属性 中调整缓冲区大小,否则会输出爆屏,方法写在代码里了 觉得速度 快/慢 的可以在第 23 行手动改一下,相信大神们能看懂~ /*************************************************************/ /* < D O W N > **作者:CQzhangyu **使用说明: 游戏时请在 窗口 上按 右键 打开菜单 点击 默认值 -> 布局 -> 将…
英文不好不要紧,把API函数导入打字练习类软件,即是练习打字速度,提高编程效率:也能短时间记忆API. 坚持每天打一遍,约2小时,连续打两周,会对API有很好的记忆,此方法是结合英文学习方法!以下是Window API函数例表,大家可以试试效果特别好! AbnormalTermination AbortDoc AbortPath AbortPrinter AbortProc AbortSystemShutdown AccessNtmsLibraryDoor ActivateKeyboardLay…
题目链接:hdu 2177 这题不是普通的 Nim 博弈,我想它应该是另一种博弈吧,于是便推 sg 函数打了个 20*20 的表来看,为了方便看一些,我用颜色作了标记,打表代码如下: #include<cstdio> #include<cstring> #include<string> #include<map> #include<algorithm> #include<windows.h> using namespace std;…
基于win7 + python3.4 import ctypes import sys '''Windows CMD命令行颜色''' # 句柄号 STD_INPUT_HANDLE = -10 STD_OUTPUT_HANDLE= -11 STD_ERROR_HANDLE = -12 # 前景色 FOREGROUND_BLACK = 0x0 # 黑 FOREGROUND_BLUE = 0x01 # 蓝 FOREGROUND_GREEN = 0x02 # 绿 FOREGROUND_RED = 0x0…
1.改变整个控制台的颜色用 system("color 0A"); 其中color后面的0是背景色代号,A是前景色代号.各颜色代码如下: 0=黑色 1=蓝色 2=绿色 3=湖蓝色 4=红色 5=紫色 6=黄色 7=白色 8=灰色 9=淡蓝色 A=淡绿色 B=淡浅绿色 C=淡红色 D=淡紫色 E=淡黄色 F=亮白色 2.改变下一个输出或者输入字体和背景的颜色采用SetConsoleTextAttribute函数,如White on Black:SetConsoleTextAttribut…
在<秒杀多线程第十一篇读者写者问题>文章中我们使用事件和一个记录读者个数的变量来解决读者写者问题.问题虽然得到了解决,但代码有点复杂.本篇将介绍一种新方法--读写锁SRWLock来解决这一问题.读写锁在对资源进行保护的同时,还能区分想要读取资源值的线程(读取者线程)和想要更新资源的线程(写入者线程).对于读取者线程,读写锁会允许他们并发的执行.当有写入者线程在占有资源时,读写锁会让其它写入者线程和读取者线程等待.因此用读写锁来解决读者写者问题会使代码非常清晰和简洁. 下面就来看看如何使用读写锁…
与上一篇<秒杀多线程第十篇 生产者消费者问题>的生产者消费者问题一样,读者写者也是一个非常著名的同步问题.读者写者问题描述非常简单,有一个写者很多读者,多个读者可以同时读文件,但写者在写文件时不允许有读者在读文件,同样有读者在读文件时写者也不去能写文件. 上面是读者写者问题示意图,类似于生产者消费者问题的分析过程,首先来找找哪些是属于"等待"情况. 第一.写者要等到没有读者时才能去写文件. 第二.所有读者要等待写者完成写文件后才能去读文件. 找完"等待"…
Windows的CMD可以和Linux下的终端一样可以有五颜六色,目前我在网上找到2种方法可以修改Windows的CMD,当然都是在代码中修改的.在“CMD”->“属性”->“颜色”,这种方法就另当别论了. (1)方法一:调用color命令行程序 Windows的CMD中有个color命令,它可以修改控制台的前景色和背景色,用法如下: 利用C的system函数,就可以调用color这个命令,代码如下 #include <stdio.h> #include <stdlib.h&…
Mac OS效果 Windows 效果 想写这个东西其实是因为最近要写个命令行的工具,但是有个问题是什么呢?就是传统的那个黑漆漆的窗口看起来很蛋疼.并且完全看不到重点,于是就想起 来这么一个东西.相对来说针对*nix的系统方法会比较通用一些,而windows下这个东西需要用到专门的Windows相关的api来实现. 下面先说通用的方法: 1.*nix (Linux/Unix/Mac OS) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21…