![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
BibleXu
心情好,一切都会好的...
展开
-
斐波那契数列 打印,求和
// stl1-9-5.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include using namespace std;int fcmp(const void * elem1, const void * elem2);int fib2(int n);int fib(int n);const int gconst原创 2016-03-11 15:01:04 · 875 阅读 · 0 评论 -
libcurl教程
libcurl在VC下编译主要有以下几步1. 下载msvc平台的libcurl,压缩包中有一些头文件,dll文件,lib文件2. 新建一个项目,把解压出来的头文件全部放进去,在项目-设置-link标签页中,把"libcurl.lib"加入modules3. 把libcurl.lib文件拷贝到项目所在文件夹4. 编译一下这个项目,会生成debug目录,将libc转载 2015-09-21 16:59:56 · 461 阅读 · 0 评论 -
libcurl上传文件 post from表单、post二进制的区别
http://blog.csdn.net/leekumbong/article/details/29182299libcurl参数很多,一不小心就容易遇到问题。曾经就遇到过一个很蛋疼的问题:libcurl断点下载>> 这里主要汇总一下,libcurl上传的二种方式:1、直接上传文件,类似form表单,2、上传二进制流; 至于设定自定义头,都是使用一样的方法转载 2015-09-21 16:45:02 · 11454 阅读 · 0 评论 -
使用libcurl提交POST请求(二)
最近在学习libcurl,并利用它提交POST请求,可是返回的响应总是无从验证该次POST请求是否成功提交了。1. 先看下根据firebug提交的一次成功的请求,这里以login我喜欢上的xiami为例,嘻嘻~ 1.1 本次POST请求的HTTP交互 1.2 POST 1.3 经server端redirect的GET转载 2015-09-21 16:40:41 · 584 阅读 · 0 评论 -
C++使用libcurl做HttpClient
http://blog.csdn.net/huyiyang2010/article/details/7664201当使用C++做HTTP客户端时,目前通用的做法就是使用libcurl。其官方网站的地址是http://curl.haxx.se/,该网站主要提供了Curl和libcurl。Curl是命令行工具,用于完成FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET转载 2015-09-21 16:37:27 · 409 阅读 · 0 评论 -
C++多线程技术--API
1. windows API相关常用的线程函数更多详见MSDN--Process and Thread Functions1.1. CreateThread CreateThread将在主线程的基础上创建一个新线程,大致做如下步骤: 1)在内核对象中分配一个线程标识/句柄,可供管理,由CreateThread返回 2)把线程退出码置为STILL_A转载 2015-09-15 15:52:40 · 629 阅读 · 0 评论 -
使用_beginThreadex创建多线程(C语言版多线程)
_beginThreadex创建多线程解读一、需要的头文件支持 #include // for _beginthread()需要的设置:ProjectàSetting-->C/C++-->User run-time library 选择Debug Multithreaded 或者Multithreaded。即使用: MT或MTD。源码如下:转载 2015-09-15 15:56:50 · 1219 阅读 · 0 评论 -
C++使用临界区来控制多线程访问同一个变量
http://blog.chinaunix.net/uid-25422700-id-172012.html#include#includeusing namespace std;int index = 0;// 临界区结构对象CRITICAL_SECTION g_cs;HANDLE hMutex = NULL;void changeMe(){ cout << inde转载 2015-09-15 15:46:17 · 4392 阅读 · 0 评论 -
多线程编程--5种方法实现线程同步
1:用Interlocked系列函数实现线程同步;2:用CRITICAL_SECTION及其系列函数实现线程同步;3:用RTL_SRWLOCK及其系列函数实现线程同步;4:用事件内核对象实现线程同步;5:用信号量内核对象实现线程同步; 1:用Interlocked系列函数实现线程同步实例如下://旋转锁#include using转载 2015-09-15 15:54:58 · 735 阅读 · 0 评论 -
LibCurl HTTP部分详细介绍
目录索引:一、LibCurl基本编程框架二、一些基本的函数三、curl_easy_setopt函数部分选项介绍四、curl_easy_perform 函数说明(error 状态码)五、libcurl使用的HTTP消息头六、获取http应答头信息七、多线程问题八、什么时候libcurl无法正常工作九、关于密码十、HTTP验证十一、代码示例 1.基本的htt转载 2015-09-21 16:32:48 · 360 阅读 · 0 评论 -
使用GDI+进行图片处理时要注意的问题
与GDI相比,GDI+要强大很多。对于Windows应用程序来说,用GDI是比较多的,也是比较熟练的,GDI+相对用的较少一点,但是现在GDI+的使用已经很普遍了。GDI+支持各种类型图片的处理,比如常见的bmp、jpg、gif、png等类型,特别是GDI+处理png图片时有很大的优势。有时我们需要将图片文件加载到内存中,然后进行UI的绘制,由于要支持多种类型的图片的载入,所以首先想到的是使用GD转载 2015-10-10 17:19:02 · 706 阅读 · 0 评论 -
TCP实现P2P通信、TCP穿越NAT的方法、TCP打洞
原文: http://www.vckbase.com/index.php/wv/1471这个标题用了两个顿号三个名称,其实说得是同一个东西,只是网上有不同的说法罢了,另外好像还有人叫TCP打孔(我的朋友小妞听说后问“要打孔啊,要不要我帮你去借个电钻过来啊?”“~!・¥%……・!”)。闲话少说,我们先看一下技术背景:Internet的迅速发展以及IPv4 地址转载 2015-10-12 17:03:46 · 649 阅读 · 0 评论 -
stl 源码剖析 1-9-5
排序:#include "stdafx.h"#include #include using namespace std;int fcmp(const void * elem1, const void * elem2);int _tmain(int argc, _TCHAR* argv[]){ int ia[10] = { 32, 92, 67, 58, 10, 4, 25原创 2016-03-11 14:33:48 · 436 阅读 · 0 评论 -
(C++)UrlEncode的标准实现 libcul
http://blog.csdn.net/gemo/article/details/8468311libcul post 中文/特殊字符 url 连接时,需要转编码 == 关于UrlEncode的实现(C++),网上有很多不同的版本,对需要编码的字符集的选取并不统一。那么到底有没有标准呢?答案是有的,参见wiki 绝对不编码的,只有字母、数字、短横转载 2015-11-27 11:42:23 · 3408 阅读 · 0 评论 -
C++实现的农历算法
农历算法简介以及公式一、节气的计算 先给节气进行编号,从近日点开始的第一个节气编为0,编号如下及其相应的月份如下:0 小寒 腊月6 清明 三月12 小暑 六月18 寒露 九月1 大寒 腊月7 谷雨 三月13 大暑 六月转载 2015-12-28 14:32:47 · 7091 阅读 · 2 评论 -
一个比较全的C++农历算法
这以前本是一个MFC代码,我在这个基础上修改成了标准C++的.. 即可以在VC里用,也可以在C++Builder里用..所以一并放到这里来, 希望有人喜欢..喜欢的就给点鼓励啊~~ 示例代码: 代码:void __fastcall TForm1::Button1Click(TObject *Sender) { xDate *Date_x=new xDate();//取系转载 2015-12-28 14:21:35 · 1924 阅读 · 0 评论 -
c++ 计算某个日期是星期几,判断某年某月一号是星期几
第一种方法基姆拉尔森计算公式:基姆拉尔森计算公式W = (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400) mod 7http://baike.baidu.com/view/739374.htm#includeusing namespace std;void CaculateWeekDay(int y,原创 2015-12-28 13:54:42 · 21398 阅读 · 2 评论 -
HICON与HBITMAP相互转换
将BMP转换成ICON图标方法一、HICON HICONFromCBitmap( CBitmap& bitmap){ BITMAP bmp; bitmap.GetBitmap(&bmp); HBITMAP hbmMask = ::CreateCompatibleBitmap(::GetDC(NULL), bmp.bmWidth, bmp.b转载 2015-09-30 14:15:50 · 1989 阅读 · 0 评论 -
提取CImageList中的图片到CBitmap 缩放图片
提取CImageList中的图片到CBitmap,图片缩放 - Fortunately小栏 - 功能简介:使用 CImageList 类的 Add 方法将图片资源加入,而后将资源读取出来,图片资源缩放。1. 生成 Bitmap 资源。2. 创建一个 CImageList 对象。3. 将 Bitmap 图片资源加入到 CImageList 中。4. 得到 CImag转载 2015-09-24 16:21:57 · 2014 阅读 · 0 评论 -
IDropTarget 封装 让窗口支持拖放(文件,文本,URL...)
原文: http://pyhcx.blog.51cto.com/713166/192454一、窗口支持拖放的实现步骤1. 初始化OLE, ::OleInitialize(NULL);2. 实现接口 : IDropTarget 二、IDropTarget接口内容1. DragEnter 在拖放进入窗口区域的时候触发调用,可以在这里获取转载 2015-09-24 16:25:27 · 1150 阅读 · 0 评论 -
单点登录
c++通过互斥量实现单例模式在工程文件中, WinMain函数里加上以下代码[cpp] view plaincopyHANDLE hMutex = CreateMutex(NULL, false, "Process"); if (GetLastError() == ERROR_ALREADY_EXISTS)转载 2015-09-15 15:44:22 · 372 阅读 · 0 评论 -
C++ 临界区 多线程同步互斥
http://blog.csdn.net/lzg13541043726/article/details/37903405临界区(Critical Section) 保证在某一时刻只有一个线程能访问数据的简便办法。在任意时刻只允许一个线程对共享资源进行访问。如果有多个线程试图同时访问临界区,那么在有一个线 程进入后其他所有试图访问此临界区的线程将被挂起,并一直持续到进入临界区的线程离开。临界区在转载 2015-09-15 15:48:20 · 596 阅读 · 0 评论 -
慎用USES_CONVERSION
原文: http://www.cnblogs.com/carekee/articles/1935789.html慎用USES_CONVERSIONUSES_CONVERSION是ATL中的一个宏定义。用于编码转换(用的比较多的是CString向LPCWSTR转换)。在ATL下使用要包含头文件#include "atlconv.h"使用USES_CONVERS转载 2015-08-21 13:12:24 · 535 阅读 · 0 评论 -
linux cgi httprequest 请求
// HttpRequest.h#if !defined(_HTTP_REQUEST_H_INCLUDED_)#define _HTTP_REQUEST_H_INCLUDED_#include #define HTTP_BUFFER_SIZE 256 #define HTTP_STATUS_INFORMATION 100#define HTTP_ST原创 2015-03-11 14:04:47 · 1025 阅读 · 0 评论 -
CTreeCtrl的用法
CTreeCtrl的用法树控制(CTreeCtrl)主要用来显示具有一定层次结构的数据项,如资源管理器中的磁盘目录等,以供用户在其中进行各种选择。树控制中的每个数据项包括数据项名称的文本字符串和用于表示该数据项的图像,每个数据项下面均可包含各种子项,整个结构就象目录树一样。对于包含各种子项的数据项,可通过鼠标双击来展开或合拢,这可以通过控制树的不同风格来实现树控制的不同显示形态。建立控转载 2014-11-06 14:57:44 · 847 阅读 · 0 评论 -
IOCP模型与网络编程
IOCP模型与网络编程一。前言: 在老师分配任务(“尝试利用IOCP模型写出服务端和客户端的代码”)给我时,脑子一片空白,并不知道什么是IOCP模型,会不会是像软件设计模式里面的工厂模式,装饰模式之类的那些呢?嘿嘿,不过好像是一个挺好玩的东西,挺好奇是什么东西来的,又是一个新知识啦~于是,开始去寻找一大堆的资料,为这个了解做准备,只是呢,有时还是想去找一本书去系统地学习一转载 2014-10-13 17:58:37 · 629 阅读 · 0 评论 -
general error c1010070: Failed to load and parse the manifest.
general error c1010070: Failed to load and parse the manifest.今天遇到个这样的错误,原因是原创 2014-10-11 11:04:15 · 3626 阅读 · 0 评论 -
简单游戏服务器客服端搭建
客户机: Login()// 登入模块{ 初始化游戏数据; 获取用户输入的用户和密码; 与服务器创建网络连接; 发送至服务器进行用户验证; ... 等待服务器确认消息; ... 获得服务器反馈的登入消息; if( 成立 ) 进入游戏; else 提示用户登入错误并重新接受用户登入;}Game()// 游戏循环部分{转载 2014-09-15 10:30:18 · 1398 阅读 · 0 评论 -
CPPCMS库在Windows下的使用
标题:CPPCMS库在Windows下的使用时间:2012-7作者:Kagula环境:[1]WinXP SP3[2]VisualStudio2008 SP1[3]ZLib 1.2.7[4]PCRE 8.31[5]Python 2.7.3第一步:配置编译环境ZLib库[1-1]进行VS2008命令行模式(若无特殊说明,全部命令均在这种模式下运行)转载 2014-08-13 10:12:06 · 1119 阅读 · 1 评论 -
std::string用法总结
在平常工作中经常用到了string类,本人记忆了不好用到了的时候经常要去查询。在网上摘抄一下总结一下,为以后的查询方便:string类的构造函数:string(const char *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化string类的字符操作:const char &operator[](int转载 2014-08-08 15:21:34 · 566 阅读 · 0 评论 -
任务显示与隐藏,任务管理器中应用程序显示与隐藏,悬浮窗任务栏显示 效果
1. 隐藏底部 “任务栏图标”和 隐藏 “任务任务管理器——应用程序—任务”ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW); ShowWindow(SW_HIDE); 此上为:迅雷悬浮窗任务栏显示效果。2. 显示底部 “任务栏图标” 和 隐藏 “任务任务管理器——应用原创 2014-09-04 12:55:50 · 3382 阅读 · 0 评论 -
链表和数组的区别在哪里
链表和数组的区别在哪里?说了这么多,数组和链表的区别整理如下:数组静态分配内存,链表动态分配内存;数组在内存中连续,链表不连续;数组元素在栈区,链表元素在堆区;数组利用下标定位,时间复杂度为O(1),链表定位元素时间复杂度O(n);数组插入或删除元素的时间复杂度O(n),链表的时间复杂度O(1)。原创 2015-06-25 11:44:46 · 517 阅读 · 0 评论 -
Winsock服务器内存资源管理
一般来讲, 在服务器上,如果有足够的资源,Winsock server,理论上可以支持成千的并发连接。而现实是,我们没有足够的资源可供使用,分配。本文主要来讨论一下内存资源之于Winsock server开发的重要性。一)基本概念。-> Pages,Locked Pages. 在现代操作系统中,内存管理会把主存(RAM)分成Pages来管理。 Paging(或者swapp转载 2015-07-08 11:52:56 · 758 阅读 · 0 评论 -
c/c++ 函数指针和指针函数,变量指针和指针变量
函数指针1. 定义每一个函数都占用一段内存单元,它们有一个起始地址,指向函数入口地址的指针称为函数指针。2. 语法指向函数的指针变量的一般定义形式为:数据类型 (*指针变量名)(参数表);3. 说明1) 函数指针的定义形式中的数据类型是指函数的返回值的类型。2) 区分下面两个语句:int (*p)(int a, int b); //p原创 2015-07-09 17:01:50 · 791 阅读 · 0 评论 -
在VC6中使用GDI的方法(附一个使用GDI+的批量图片格式转换程序)
原文来自 : http://blog.sina.com.cn/s/blog_5d7883db0100bkys.htmlGDI+是MS官方的图像处理包,好处自不多说,很多高手都强烈推荐它.本文说明如何在VC6的平台上配置和使用GDI+.并用一个很实用的小程序说明如何使用GDI+转换硬盘上的图片的格式.下载GDI+的相关文件.网上给的很多连接都失效了.我就传了一个到我的转载 2015-09-02 11:50:16 · 550 阅读 · 0 评论 -
OLE Drag&Drop 介绍
收藏来自 : http://blog.csdn.net/lziog/article/details/38584269第一部分:OLE Drag&Drop 介绍一、基本概念 拖放,是指用鼠标拖动的方法,在不同程序的窗口之间、同一程序的不同窗口之间或同一程序同一窗体的不同控件之间,进行移动、复制、粘贴数据等操作的技术。拖放操作是依靠操作系统来完成的,被转载 2015-09-01 17:52:15 · 1040 阅读 · 0 评论 -
VC实现文件拖拽OnDropFiles
收藏自: http://www.cnblogs.com/lidabo/p/3730730.html 使用过QQ的人都知道,只要把文件拖拽到消息框中就可以传送文件了。那么这种功能是如何实现的呢?其实很简单,只需要响应WM_DROPFILES消息就可以了。在基于对话框的程序中,默认是没有这个消息的,添加WM_DROPFILES消息,该消息的响应函数: void CTestDlg转载 2015-09-01 16:50:47 · 2894 阅读 · 0 评论 -
CRichEditCtrl使用大全
CRichEditCtrl使用大全richedit 常见使用问题一.常见问题a.可以编译,不能执行的在需要在相应的对话框中加上InitInstance(void)函数中添加AfxInitRichEdit();b.升级默认的Riched版本(默认的有一些bug),如可在InitInstance中添加LoadLibrary("RICHED20.DLL")转载 2015-07-22 14:30:54 · 554 阅读 · 0 评论 -
c++组合 聚合 关联 依赖
组合和聚合区别(不能脱离整体 能脱离整体)组合:(表示两个对象之间是整体和部分的强关系,部分的生命周期不能超越整体。如人和脑袋)比如A类中包含B类的一个引用b,当A类的一个对象消亡时,b这个引用所指向的对象也同时消亡(没有任何一个引用指向它,成了垃圾对象)聚合:(表示两个对象之间是整体和部分的弱关系,部分的生命周期可以超越整体。如电脑和鼠标)反之b所指向的对象还会有另外转载 2015-07-17 10:11:02 · 2976 阅读 · 0 评论 -
进程间和线程间通信
进程间和线程间通信 1.许多程序和应用一起工作达到某个共同目的的任务集。每个任务在开始执行前等待前一个任务完成。为了完成共同目标,相关线程或进程必须相互合作与通信。 2.依赖关系:对于任意两个线程或进程,存在4种依赖关系(如图) (1)通信依赖性:当线程A需要来自线程B的数据进行操作时(单向依赖) (2)合作依赖性:当线程A需要线程B拥有的资源,而且转载 2015-07-08 11:44:42 · 786 阅读 · 0 评论