c++
落单的毛毛虫
不准埋怨, 只许努力.
展开
-
操蛋的Bug
自己实现了一个内存分配器, 再用这个分配器实现了一个链表, 每次在分配器析构的时候程序都出现致命错误. 分配器的析构函数中只有一行代码,operator delete [](m_pMemory);这是头一次如何频繁使用 operator new[], operator delete[], 调试了很久不得其解, 网上寻求答案. 搜索引擎都快点烂了, 收获也不小. 起先搜出来个 no原创 2014-01-25 10:46:34 · 654 阅读 · 0 评论 -
给出若干个位数字, 计算所有不重复组合.
比如123, 那么就有123, 132, 213, 231, 312, 321. 六种组合. 这个问题很久前就看过, 但是一直都没去关注(因为关注了也做不出来- -||). 就在今天, 我突然就想要解开这个题, 说干就干, 苦思冥想之后, 完全没有头绪. 在百度上搜索了一番之后, 终于在CSDN上找到了一模一样的问题. 解题方法相当繁琐.解题代码:int main(){原创 2014-01-25 10:52:09 · 1181 阅读 · 0 评论 -
C++ IO格式控制
iomanip.h是I/O流控制头文件,就像C里面的格式化输出一样.以下是一些常用的函数: dec 置基数为10 相当于"%d" hex 置基数为16 相当于"%X" oct 置基数为8 相当于"%o" setfill(c) 设填充字符为c setprecision(n) 设显示小数精度为n位 setw(n) 设域宽为n个字符 setiosflags(ios::fi原创 2014-01-27 09:42:14 · 947 阅读 · 0 评论 -
C++输入输出Unicode编码
在使用C++输入输出Unicode编码的时候经常出现乱码或者输出空的.之前在网上找到靠谱的方法 setlocale(LC_ALL,"chs")这是C的方法, 调用这个函数之后 wcout 可以输出Unicode编码, 但是wifsream会出现乱码. 因此要采用C++的方法. std::locale::global(locale("cls"));调用该函数之后就可以使用Unicod原创 2014-01-27 09:47:19 · 3427 阅读 · 0 评论 -
获取本机外网IP
#include #include using namespace std;using namespace mmc;#pragma comment(lib, "MMCSocket.lib")bool GetIP(MMCSocket *pSock, char *ip);int main(){ char ip[BUFSIZ] = {0}; MMCSocket sock;原创 2014-01-27 12:48:20 · 927 阅读 · 0 评论 -
打开, 关闭显示器
SendMessage(hwnd, WM_SYSCOMMAND, SC_MONITORPOWER, 2);WM_SYSCOMMAND 意为“窗口消息_系统指令”SC_MONITORPOWER 意为“系统指令_显示器电源”-1 (the display is powering on) 打开显示器1 (the display is going to low power)原创 2014-01-27 14:13:09 · 1166 阅读 · 0 评论 -
最精确时间间隔
GetTickCount() 返回开机到函数调用持续的毫秒, 这个函数有16毫秒的误差.下面使用高精度的函数来计算间隔.LARGE_INTEGER frequency, large_beg, large_end;QueryPerformanceFrequency(&frequency);QueryPerformanceCounter(&large_beg);// 执行其原创 2014-02-01 09:27:10 · 765 阅读 · 0 评论 -
逆序链表
昨天第一次面试, 惨败而归...每次笔试都情不自禁当成草稿, 随手就写, 写错就画. 对于一些基础问题 double x = 5/2; 我写的2.5, 答案是2.500000貌似.最难的题目就是一个排序题, 不要求排序算法, 只要能从小到大排序即可,这个确实很简单, 但是... 我当然作对了!!!话不多说, 进入正题...逆序链表, 不是逆序数出, 是把链表顺序彻底原创 2014-02-12 16:48:28 · 646 阅读 · 0 评论 -
截屏保存为图片
#includevoid ScreenSnap(HBITMAP hBitmap,char *bmpPath,HDC dc);int main(){ HWND DeskWnd=::GetDesktopWindow();//获取桌面窗口句柄 RECT DeskRC; ::GetClientRect(DeskWnd,&DeskRC);//获取窗口大小 HDC DeskDC=GetDC(原创 2013-03-18 13:36:49 · 805 阅读 · 0 评论 -
关闭显示器
SendMessage((HWND)65535, 274, 61808, 2);SendMessage(hwnd, WM_SYSCOMMAND, SC_MONITORPOWER, 2);WM_SYSCOMMAND 意为“窗口消息_系统指令”SC_MONITORPOWER 意为“系统指令_显示器电源”-1 (the display is powering on) 打开显示器1 (th原创 2013-03-18 13:09:11 · 1185 阅读 · 0 评论 -
HTTP协议
// GET 方法char SendData[] = { "GET /ic.asp HTTP/1.1\r\n" "HOST: iframe.ip138.com\r\n" "Connection: close\r\n\r\n"}原创 2013-03-18 12:56:58 · 516 阅读 · 0 评论 -
从位图数据取得位图句柄
#include #include using namespace std;void main(){ ifstream infile("bm.bmp", ios::in | ios::binary); BITMAPFILEHEADER bmpHeader; // 获取文件大小 infile.seekg(0, ios::end); long nfilelen = infile原创 2013-03-18 13:41:24 · 3083 阅读 · 0 评论 -
窗口淡入淡出
// 窗口淡入淡出效果BOOL AnimateWindow(HWND hWnd,DWORD dwTime,DWORD dwFlags);BOOL AnimateWindow(DWORD dwTime,DWORD dwFlags);原创 2013-03-18 13:42:28 · 601 阅读 · 0 评论 -
内存读写
#include #include #include #include #include HANDLE fnGetProcess(){ HANDLE hShot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); PROCESSENTRY32 myPro; myPro.dwSize=sizeof(myPro); Process3原创 2013-03-18 13:07:52 · 715 阅读 · 0 评论 -
截屏小工具.
最近写了个拼图游戏, 是自从学D2D以来做的第二款, 在特效上花了些心思, 渐变, 缩放, 最大亮点是可以自动拼图.我想把这个拼图放到博客上来, 但是我需要一个GIF图动态展示这个游戏的效果, 因此我需要一个截屏的工具.我率先想到的居然不是屏幕录制, 而是把过程一张张图截下做成GIF.由于懒得去找现成的工具, 于是自己就写了一个..简介:输入时间原创 2014-04-03 12:00:42 · 1072 阅读 · 0 评论